Compare commits

...

3 Commits

Author SHA1 Message Date
HeyItsChloe
5ef1629db1 Merge branch 'main' into APP-1205/log-level 2026-04-06 07:37:37 -07:00
HeyItsChloe
a709e0bb53 key name 2026-04-02 13:47:46 -07:00
HeyItsChloe
72ff303367 rename levelname to level so data dog can correctly categorize errors 2026-04-02 13:29:40 -07:00

View File

@@ -38,7 +38,7 @@ DEBUG_LLM = os.getenv('DEBUG_LLM', 'False').lower() in ['true', '1', 'yes']
# Structured logs with JSON, disabled by default
LOG_JSON = os.getenv('LOG_JSON', 'False').lower() in ['true', '1', 'yes']
LOG_JSON_LEVEL_KEY = os.getenv('LOG_JSON_LEVEL_KEY', 'level')
LOG_JSON_LEVEL_KEY = os.getenv('LOG_JSON_LEVEL_KEY', 'status')
# Configure litellm logging based on DEBUG_LLM
@@ -564,13 +564,17 @@ def get_uvicorn_json_log_config() -> dict:
'use_colors': None,
},
# Actual JSON formatters used by handlers below
# rename_fields maps 'levelname' to the configured LOG_JSON_LEVEL_KEY
# (defaults to 'level') so Datadog correctly parses the log level
'json': {
'()': 'pythonjsonlogger.json.JsonFormatter',
'fmt': '%(message)s %(levelname)s %(name)s %(asctime)s %(exc_info)s',
'rename_fields': {'levelname': LOG_JSON_LEVEL_KEY},
},
'json_access': {
'()': 'pythonjsonlogger.json.JsonFormatter',
'fmt': '%(message)s %(levelname)s %(name)s %(asctime)s %(client_addr)s %(request_line)s %(status_code)s',
'rename_fields': {'levelname': LOG_JSON_LEVEL_KEY},
},
},
'handlers': {