Skip to content

Commit ee11d70

Browse files
committed
test(TestFormatters): update logging configuration and replace IgnoreNANTraceFormatter with BasicFormatter
1 parent fc2885c commit ee11d70

File tree

1 file changed

+22
-16
lines changed

1 file changed

+22
-16
lines changed

test/logger_test.py

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import asyncio
22
import logging
33
import os
4+
import re
45
from io import StringIO
56

67
import pytest
@@ -13,7 +14,7 @@
1314
trace_id_ctx,
1415
tracer,
1516
)
16-
from chromatrace.logging_settings import IgnoreNANTraceFormatter
17+
from chromatrace.logging_settings import ApplicationLevelFilter, BasicFormatter
1718
from chromatrace.tracer import RequestIdFilter
1819
from fastapi import FastAPI
1920
from fastapi.testclient import TestClient
@@ -104,33 +105,38 @@ async def test_async_tracer(self):
104105

105106
class TestFormatters:
106107
@pytest.fixture(scope="class")
107-
def settings(self):
108-
return LoggingSettings(
109-
application_level="TestFormatters",
110-
enable_console_logging=True,
111-
enable_tracing=True,
112-
ignore_nan_trace=True,
108+
def config(self):
109+
return LoggingConfig(
110+
LoggingSettings(
111+
application_level="TestFormatters",
112+
enable_console_logging=False,
113+
enable_tracing=True,
114+
ignore_nan_trace=True,
115+
)
113116
)
114117

115118
@pytest.fixture
116119
def stream(self):
117120
return StringIO()
118121

119122
@pytest.fixture
120-
def logger(self, settings, stream):
123+
def logger(self, config, stream):
121124
# Clear all existing loggers
122-
config = LoggingConfig(settings)
123125
logger = config.get_logger("formatter-test")
124126

125127
# Add StreamHandler directly to logger
126128
handler = logging.StreamHandler(stream)
127129
handler.setFormatter(
128-
IgnoreNANTraceFormatter(
129-
fmt=settings.log_format,
130-
datefmt=settings.date_format,
131-
style=settings.style,
130+
BasicFormatter(
131+
fmt=config.settings.log_format,
132+
datefmt=config.settings.date_format,
133+
style=config.settings.style,
134+
colored=True,
135+
remove_nan_trace=True,
132136
)
133137
)
138+
handler.addFilter(RequestIdFilter())
139+
handler.addFilter(ApplicationLevelFilter(config.settings.application_level))
134140
logger.addHandler(handler)
135141
return logger
136142

@@ -144,10 +150,10 @@ def test_colored_output(self, logger, stream):
144150
assert "test-id" in output
145151

146152
def test_ignore_nan_trace(self, logger, stream):
153+
trace_id_ctx.set("NAN")
147154
logger.info("Test message with no trace...")
148-
assert "NAN" not in logger.handlers[0].format(
149-
logging.LogRecord("", 0, "", 0, "msg", (), None)
150-
)
155+
output = stream.getvalue()
156+
assert "NAN" not in output, "NAN trace should be removed"
151157

152158

153159
class TestContextManagement:

0 commit comments

Comments
 (0)