Skip to content

Commit 6295280

Browse files
committed
Fixes #182
1 parent 33261cd commit 6295280

File tree

4 files changed

+25
-12
lines changed

4 files changed

+25
-12
lines changed

CHANGELOG.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
# Changelog
22

33
## [Unreleased]
4+
### Fixed
5+
- Issue [#182](https://github.com/reportportal/client-Python/issues/182): logger crash on attachments, by @HardNorth
46

57
## [5.2.1]
68
### Fixed
7-
- Issue [#180](https://github.com/reportportal/client-Python/issues/180):
8-
logger crash on attachments, by @HardNorth
9+
- Issue [#180](https://github.com/reportportal/client-Python/issues/180): logger crash on attachments, by @HardNorth
910
### Changed
1011
- Log processing does not stop on the first error now, by @HardNorth
1112

reportportal_client/logs/__init__.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,6 @@ def emit(self, record):
138138
Emit function.
139139
140140
:param record: a log Record of requests
141-
:return: log ID
142141
"""
143142
msg = ''
144143

@@ -152,10 +151,12 @@ def emit(self, record):
152151
for level in self._sorted_levelnos:
153152
if level <= record.levelno:
154153
rp_client = current()
155-
return rp_client.log(
156-
timestamp(),
157-
msg,
158-
level=self._loglevel_map[level],
159-
attachment=getattr(record, 'attachment'),
160-
item_id=rp_client.current_item()
161-
)
154+
if rp_client:
155+
rp_client.log(
156+
timestamp(),
157+
msg,
158+
level=self._loglevel_map[level],
159+
attachment=getattr(record, 'attachment'),
160+
item_id=rp_client.current_item()
161+
)
162+
return

reportportal_client/service.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -497,7 +497,6 @@ def log(self, time, message, level=None, attachment=None, item_id=None):
497497
:param level:
498498
:param attachment: files
499499
:param item_id: id of item
500-
:return: id of item from response
501500
"""
502501
data = {
503502
"launchUuid": self.launch_id,
@@ -509,7 +508,7 @@ def log(self, time, message, level=None, attachment=None, item_id=None):
509508
data["itemUuid"] = item_id
510509
if attachment:
511510
data["attachment"] = attachment
512-
return self._log_batch(data)
511+
self._log_batch(data)
513512

514513
def _log_batch(self, log_data, force=False):
515514
"""

tests/logs/test_rp_log_handler.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,3 +95,15 @@ def test_emit_custom_level(mocked_handle):
9595
assert mock_client.log.call_count == 1
9696
call_kwargs = mock_client.log.call_args[1]
9797
assert call_kwargs['level'] == 'WARN'
98+
99+
100+
@mock.patch('reportportal_client.logs.logging.Logger.handle')
101+
def test_emit_null_client_no_error(mocked_handle):
102+
test_message = 'test message'
103+
RPLogger('test_logger').log(30, test_message)
104+
record = mocked_handle.call_args[0][0]
105+
106+
set_current(None)
107+
108+
log_handler = RPLogHandler()
109+
log_handler.emit(record)

0 commit comments

Comments
 (0)