Coverage for postrfp/conf/logconf.py: 100%

5 statements  

« prev     ^ index     » next       coverage.py v7.11.0, created at 2025-10-22 21:34 +0000

1from typing import Any 

2from postrfp import conf 

3 

4PRODUCTION: dict[str, Any] = { 

5 "version": 1, 

6 "disable_existing_loggers": False, 

7 "formatters": { 

8 "verbose": {"format": "%(levelname)s %(asctime)s %(name)s %(message)s"} 

9 }, 

10 "handlers": { 

11 "stderr": { 

12 "level": "INFO", 

13 "class": "logging.StreamHandler", 

14 "formatter": "verbose", 

15 }, 

16 "file": { 

17 "class": "logging.handlers.RotatingFileHandler", 

18 "level": "INFO", 

19 "formatter": "verbose", 

20 "filename": f"{conf.CONF.log_directory}/postrfp.log", 

21 "mode": "a", 

22 "maxBytes": 10485760, 

23 "backupCount": 5, 

24 }, 

25 "jobslog": { 

26 "class": "logging.handlers.RotatingFileHandler", 

27 "level": "DEBUG", 

28 "formatter": "verbose", 

29 "filename": f"{conf.CONF.log_directory}/jobs.log", 

30 "mode": "a", 

31 "maxBytes": 10485760, 

32 "backupCount": 5, 

33 }, 

34 "email": { 

35 "level": "ERROR", 

36 "class": "postrfp.conf.logHandlers.PostmarkHandler", 

37 "fromaddr": "notifications@supplierselect.com", 

38 "toaddrs": ["support@supplierselect.com", "son.le1755@gmail.com"], 

39 "subject": "POSTRFP Error", 

40 }, 

41 }, 

42 "loggers": { 

43 "postrfp": { 

44 "handlers": ["file", "email"], 

45 "level": "WARNING", 

46 "propagate": False, 

47 }, 

48 "postrfp.shared.fetch": { 

49 "handlers": ["file"], 

50 "level": "INFO", 

51 "propagate": False, 

52 }, 

53 "postrfp.shared.utils.config": { 

54 "handlers": ["file", "stderr"], 

55 "level": "INFO", 

56 "propagate": False, 

57 }, 

58 "postrfp.web.base": { 

59 "handlers": ["stderr"], 

60 "level": "INFO", 

61 "propagate": False, 

62 }, 

63 "postrfp.model.composite": { 

64 "handlers": ["file"], 

65 "level": "INFO", 

66 "propagate": False, 

67 }, 

68 "postrfp.mail": { 

69 "handlers": ["stderr", "file"], 

70 "level": "WARNING", 

71 "propagate": False, 

72 }, 

73 "postrfp.jobs": {"handlers": ["jobslog"], "level": "INFO", "propagate": False}, 

74 "postrfp.web.hooks": { 

75 "handlers": ["jobslog"], 

76 "level": "INFO", 

77 "propagate": False, 

78 }, 

79 }, 

80} 

81 

82DEVELOPMENT: dict[str, Any] = { 

83 "version": 1, 

84 "disable_existing_loggers": False, 

85 "formatters": { 

86 "simple": {"format": "%(levelname)s %(name)s %(message)s"}, 

87 }, 

88 "handlers": { 

89 "stderr": { 

90 "level": "DEBUG", 

91 "class": "logging.StreamHandler", 

92 "formatter": "simple", 

93 } 

94 }, 

95 "loggers": { 

96 "postrfp": {"handlers": ["stderr"], "level": "INFO", "propagate": False}, 

97 "watchdog": {"handlers": ["stderr"], "level": "INFO"}, 

98 "werkzeug": {"level": "INFO"}, 

99 "sqlalchemy.engine": {"handlers": ["stderr"], "level": "WARN"}, 

100 "sqlalchemy.engine.base.Engine": {"level": "WARN"}, 

101 }, 

102} 

103 

104TEST: dict[str, Any] = { 

105 "version": 1, 

106 "disable_existing_loggers": True, 

107 "formatters": { 

108 "simple": {"format": "%(levelname)s %(name)s %(message)s"}, 

109 }, 

110 "handlers": { 

111 "stderr": { 

112 "level": "ERROR", 

113 "class": "logging.StreamHandler", 

114 "formatter": "simple", 

115 } 

116 }, 

117 "loggers": { 

118 "postrfp": {"handlers": ["stderr"], "level": "ERROR", "propagate": False}, 

119 "postrfp.shared.utils": {"handlers": ["stderr"], "level": "CRITICAL"}, 

120 "postrfp.benchmark": {"handlers": ["stderr"], "level": "INFO"}, 

121 }, 

122}