Skip to content

Commit 7abce3a

Browse files
committed
Update level select logic
1 parent 8041c64 commit 7abce3a

File tree

2 files changed

+27
-15
lines changed

2 files changed

+27
-15
lines changed

reportportal_client/logs/__init__.py

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,16 @@ def filter(self, record):
141141
return False
142142
return True
143143

144+
def _get_rp_log_level(self, levelno):
145+
return next(
146+
(
147+
self._loglevel_map[level]
148+
for level in self._sorted_levelnos
149+
if levelno >= level
150+
),
151+
self._loglevel_map[logging.NOTSET],
152+
)
153+
144154
def emit(self, record):
145155
"""
146156
Emit function.
@@ -156,18 +166,17 @@ def emit(self, record):
156166
except Exception:
157167
self.handleError(record)
158168

159-
for level in self._sorted_levelnos:
160-
if level <= record.levelno:
161-
if self.rp_client:
162-
rp_client = self.rp_client
163-
else:
164-
rp_client = current()
165-
if rp_client:
166-
rp_client.log(
167-
timestamp(),
168-
msg,
169-
level=self._loglevel_map[level],
170-
attachment=record.__dict__.get('attachment', None),
171-
item_id=rp_client.current_item()
172-
)
173-
return
169+
log_level = self._get_rp_log_level(record.levelno)
170+
if self.rp_client:
171+
rp_client = self.rp_client
172+
else:
173+
rp_client = current()
174+
if rp_client:
175+
rp_client.log(
176+
timestamp(),
177+
msg,
178+
level=log_level,
179+
attachment=record.__dict__.get('attachment', None),
180+
item_id=rp_client.current_item()
181+
)
182+
return

tests/logs/test_rp_log_handler.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,12 @@
1212
# limitations under the License
1313
import re
1414

15+
# noinspection PyPackageRequirements
1516
import pytest
17+
# noinspection PyUnresolvedReferences
1618
from six.moves import mock
1719

20+
# noinspection PyProtectedMember
1821
from reportportal_client._local import set_current
1922
from reportportal_client.logs import RPLogHandler, RPLogger
2023

0 commit comments

Comments
 (0)