suna/backend/utils/logger.py

29 lines
928 B
Python
Raw Normal View History

import structlog, logging, os
2025-04-01 09:26:52 +08:00
ENV_MODE = os.getenv("ENV_MODE", "LOCAL")
2025-04-01 09:26:52 +08:00
renderer = [structlog.processors.JSONRenderer()]
if ENV_MODE.lower() == "local".lower():
renderer = [structlog.dev.ConsoleRenderer()]
2025-04-01 09:26:52 +08:00
structlog.configure(
processors=[
structlog.stdlib.add_log_level,
structlog.stdlib.PositionalArgumentsFormatter(),
structlog.processors.dict_tracebacks,
structlog.processors.CallsiteParameterAdder(
{
structlog.processors.CallsiteParameter.FILENAME,
structlog.processors.CallsiteParameter.FUNC_NAME,
structlog.processors.CallsiteParameter.LINENO,
2025-04-01 09:26:52 +08:00
}
),
structlog.processors.TimeStamper(fmt="iso"),
structlog.contextvars.merge_contextvars,
*renderer,
],
cache_logger_on_first_use=True,
)
2025-04-01 09:26:52 +08:00
logger: structlog.stdlib.BoundLogger = structlog.get_logger(level=logging.DEBUG)