| | import structlog, logging, os |
| |
|
| | ENV_MODE = os.getenv("ENV_MODE", "LOCAL") |
| | LOGGING_LEVEL = logging.getLevelNamesMapping().get( |
| | os.getenv("LOGGING_LEVEL", "DEBUG").upper(), logging.DEBUG |
| | ) |
| |
|
| | renderer = [structlog.processors.JSONRenderer()] |
| | |
| | |
| |
|
| | 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, |
| | } |
| | ), |
| | structlog.processors.TimeStamper(fmt="iso"), |
| | structlog.contextvars.merge_contextvars, |
| | *renderer, |
| | ], |
| | cache_logger_on_first_use=True, |
| | wrapper_class=structlog.make_filtering_bound_logger(LOGGING_LEVEL), |
| | ) |
| |
|
| | logger: structlog.stdlib.BoundLogger = structlog.get_logger() |
| |
|