Skip to content

Commit a0548b3

Browse files
authored
Merge pull request #41 from browserstack/LOC_3656_log_exception_data
Added Exception logging and update gitignore
2 parents 5e95d78 + 714cd00 commit a0548b3

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,7 @@ local.log
44
dist/**
55
MANIFEST
66

7+
venv
78
build
8-
browserstack_local.egg-info
9+
build
10+
browserstack_local.egg-info

browserstack/local.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
1-
import subprocess, os, time, json, psutil
1+
import subprocess, os, time, json,logging
2+
import psutil
3+
24
from browserstack.local_binary import LocalBinary
35
from browserstack.bserrors import BrowserStackLocalError
46

7+
logger = logging.getLogger(__name__)
58
try:
69
from importlib.metadata import version as package_version, PackageNotFoundError
710
except:
811
import pkg_resources
912

10-
1113
class Local:
1214
def __init__(self, key=None, binary_path=None, **kwargs):
1315
self.key = os.environ['BROWSERSTACK_ACCESS_KEY'] if 'BROWSERSTACK_ACCESS_KEY' in os.environ else key
@@ -88,16 +90,19 @@ def start(self, **kwargs):
8890
os.system('echo "" > "'+ self.local_logfile_path +'"')
8991
try:
9092
if out:
91-
data = json.loads(out.decode())
93+
output_string = out.decode()
9294
else:
93-
data = json.loads(err.decode())
95+
output_string = err.decode()
96+
97+
data = json.loads(output_string)
9498

9599
if data['state'] != "connected":
96100
raise BrowserStackLocalError(data["message"]["message"])
97101
else:
98102
self.pid = data['pid']
99103
except ValueError:
100-
raise BrowserStackLocalError('Error parsing JSON output from daemon')
104+
logger.error("BinaryOutputParseError: Raw String = '{}'".format(output_string) )
105+
raise BrowserStackLocalError('Error parsing JSON output from daemon. Raw String = "{}"'.format(output_string))
101106

102107
def isRunning(self):
103108
return hasattr(self, 'pid') and psutil.pid_exists(self.pid)

0 commit comments

Comments
 (0)