Skip to content

Commit 7c74442

Browse files
committed
Add tests. Need more
1 parent 2f3c335 commit 7c74442

File tree

1 file changed

+55
-2
lines changed

1 file changed

+55
-2
lines changed

opentelemetry-sdk/tests/logs/test_handler.py

Lines changed: 55 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,8 @@ def test_log_record_trace_correlation(self):
245245
self.assertEqual(log_record.span_id, span_context.span_id)
246246
self.assertEqual(log_record.trace_flags, span_context.trace_flags)
247247

248+
# TODO: Duplicate following tests with format from basic config
249+
248250
def test_warning_without_formatter(self):
249251
processor, logger = set_up_test_logging(logging.WARNING)
250252
logger.warning("Test message")
@@ -283,6 +285,53 @@ def test_log_body_is_always_string_with_formatter(self):
283285
log_record = processor.get_log_record(0)
284286
self.assertIsInstance(log_record.body, str)
285287

288+
def test_warning_basic_config_format(self):
289+
logging.basicConfig(
290+
format="BASIC CONFIG - %(name)s - %(levelname)s - %(message)s",
291+
)
292+
processor, logger = set_up_test_logging(logging.WARNING)
293+
logger.warning("Test message")
294+
295+
log_record = processor.get_log_record(0)
296+
self.assertEqual(log_record.body, "BASIC CONFIG - foo - WARNING - Test message")
297+
298+
def test_warning_basic_config_level_filter(self):
299+
logging.basicConfig(
300+
level=logging.ERROR,
301+
)
302+
processor, logger = set_up_test_logging()
303+
logger.warning("Test message")
304+
305+
log_record = processor.get_log_record(0)
306+
# TODO: Assert none because of filter
307+
self.assertEqual(log_record.body, "BASIC CONFIG - foo - WARNING - Test message")
308+
309+
def test_warning_basic_config_level_conflict(self):
310+
logging.basicConfig(
311+
level=logging.ERROR,
312+
)
313+
processor, logger = set_up_test_logging(logging.WARNING)
314+
logger.warning("Test message")
315+
316+
log_record = processor.get_log_record(0)
317+
self.assertEqual(log_record.body, "BASIC CONFIG - foo - WARNING - Test message")
318+
319+
def test_warning_basic_config_format_conflict(self):
320+
logging.basicConfig(
321+
format="BASIC CONFIG - %(name)s - %(levelname)s - %(message)s",
322+
level=logging.ERROR,
323+
)
324+
processor, logger = set_up_test_logging(
325+
logging.WARNING,
326+
formatter=logging.Formatter(
327+
"%(name)s - %(levelname)s - %(message)s"
328+
),
329+
)
330+
logger.warning("Test message")
331+
332+
log_record = processor.get_log_record(0)
333+
self.assertEqual(log_record.body, "foo - WARNING - Test message")
334+
286335
@patch.dict(os.environ, {"OTEL_SDK_DISABLED": "true"})
287336
def test_handler_root_logger_with_disabled_sdk_does_not_go_into_recursion_error(
288337
self,
@@ -299,12 +348,16 @@ def test_handler_root_logger_with_disabled_sdk_does_not_go_into_recursion_error(
299348
self.assertEqual(processor.emit_count(), 0)
300349

301350

302-
def set_up_test_logging(level, formatter=None, root_logger=False):
351+
def set_up_test_logging(level=None, formatter=None, root_logger=False):
303352
logger_provider = LoggerProvider()
304353
processor = FakeProcessor()
305354
logger_provider.add_log_record_processor(processor)
306355
logger = logging.getLogger(None if root_logger else "foo")
307-
handler = LoggingHandler(level=level, logger_provider=logger_provider)
356+
handler = None
357+
if level: #TODO: may not be necessary if param defaults to none
358+
handler = LoggingHandler(level=level, logger_provider=logger_provider)
359+
else:
360+
handler = LoggingHandler(logger_provider=logger_provider)
308361
if formatter:
309362
handler.setFormatter(formatter)
310363
logger.addHandler(handler)

0 commit comments

Comments
 (0)