Coverage for whole_app/misc_helpers.py: 100%

9 statements  

« prev     ^ index     » next       coverage.py v7.10.4, created at 2025-08-21 23:45 +0000

1import logging 

2import typing 

3 

4import structlog 

5 

6from whole_app.settings import SETTINGS 

7 

8 

9def init_logger() -> None: 

10 our_processors: typing.Final[typing.Any] = [ 

11 structlog.contextvars.merge_contextvars, 

12 structlog.processors.add_log_level, 

13 structlog.processors.format_exc_info, 

14 structlog.processors.TimeStamper(fmt="iso", utc=True), 

15 ] 

16 if SETTINGS.structured_logging: 

17 our_processors.append(structlog.processors.JSONRenderer()) 

18 structlog.configure( 

19 cache_logger_on_first_use=True, 

20 wrapper_class=structlog.make_filtering_bound_logger(logging.INFO), 

21 processors=our_processors, 

22 )