Coverage for /Users/davegaeddert/Development/dropseed/plain/plain/plain/logs/configure.py: 88%

8 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2024-10-16 22:03 -0500

1import logging 

2import logging.config 

3from os import environ 

4 

5 

6def configure_logging(logging_settings): 

7 # Load the defaults 

8 default_logging = { 

9 "version": 1, 

10 "disable_existing_loggers": False, 

11 "formatters": { 

12 "simple": { 

13 "format": "[%(levelname)s] %(message)s", 

14 }, 

15 }, 

16 "handlers": { 

17 "console": { 

18 "level": "INFO", 

19 "class": "logging.StreamHandler", 

20 "formatter": "simple", 

21 }, 

22 }, 

23 "loggers": { 

24 "plain": { 

25 "handlers": ["console"], 

26 "level": environ.get("PLAIN_LOG_LEVEL", "INFO"), 

27 }, 

28 "app": { 

29 "handlers": ["console"], 

30 "level": environ.get("APP_LOG_LEVEL", "INFO"), 

31 "propagate": False, 

32 }, 

33 }, 

34 } 

35 logging.config.dictConfig(default_logging) 

36 

37 # Then customize it from settings 

38 if logging_settings: 

39 logging.config.dictConfig(logging_settings)