Respect log level env for OTLP.
This commit is contained in:
parent
8b0a233816
commit
4b71fe4291
2 changed files with 28 additions and 1 deletions
|
|
@ -113,7 +113,7 @@ def setup_telemetry(service_name: str | None = None) -> None:
|
|||
_log_provider = log_provider
|
||||
|
||||
otel_log_handler = StructlogOTLPLogHandler(logger_provider=log_provider)
|
||||
otel_log_handler.setLevel(logging.INFO)
|
||||
otel_log_handler.setLevel(getattr(logging, settings.log_level.upper(), logging.INFO))
|
||||
logging.getLogger().addHandler(otel_log_handler)
|
||||
|
||||
# Metrics infrastructure (OTel metrics → OTLP). Existing prometheus_client
|
||||
|
|
|
|||
|
|
@ -74,3 +74,30 @@ def test_structlog_logs_reach_root_handlers() -> None:
|
|||
|
||||
log = get_logger("test")
|
||||
log.info("smoke_test", answer=42)
|
||||
|
||||
|
||||
@pytest.mark.parametrize("level", ["DEBUG", "INFO", "WARNING"])
|
||||
def test_otel_handler_respects_configured_log_level(
|
||||
monkeypatch: pytest.MonkeyPatch, level: str
|
||||
) -> None:
|
||||
"""The OTLP handler level matches settings.log_level so DEBUG logs can reach OpenObserve."""
|
||||
from contract_check.core.config import get_settings
|
||||
from contract_check.core.logging import configure_logging
|
||||
from contract_check.core.telemetry import setup_telemetry, shutdown_telemetry
|
||||
|
||||
configure_logging(level, json_output=True, service="test-service", env="test")
|
||||
monkeypatch.setattr(
|
||||
get_settings(), "otel_exporter_otlp_endpoint", "http://localhost:9999/v1/logs"
|
||||
)
|
||||
monkeypatch.setattr(get_settings(), "log_level", level)
|
||||
|
||||
setup_telemetry("test")
|
||||
root = logging.getLogger()
|
||||
try:
|
||||
otel_handler = next(
|
||||
h for h in root.handlers if type(h).__name__ == "StructlogOTLPLogHandler"
|
||||
)
|
||||
assert otel_handler.level == getattr(logging, level)
|
||||
finally:
|
||||
shutdown_telemetry()
|
||||
root.handlers = [h for h in root.handlers if type(h).__name__ != "StructlogOTLPLogHandler"]
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue