3
3
import inspect
4
4
import logging
5
5
import os
6
+ import sys
6
7
7
- from sys import stderr , stdout
8
8
9
9
from loguru import logger
10
10
@@ -41,7 +41,7 @@ def setup_logging():
41
41
"""
42
42
# Intercept everything at the root logger
43
43
logging .root .handlers = [InterceptHandler ()]
44
- logging .root .setLevel (settings .LOG_ROOT_LEVEL )
44
+ logging .root .setLevel (settings .LOG_STD_LEVEL )
45
45
46
46
# Remove all log handlers and propagate to root logger
47
47
for name in logging .root .manager .loggerDict .keys ():
@@ -54,62 +54,58 @@ def setup_logging():
54
54
# Debug log handlers
55
55
# logging.debug(f'{logging.getLogger(name)}, {logging.getLogger(name).propagate}')
56
56
57
- # Remove every other logger's handlers
57
+ # Remove default loguru logger
58
58
logger .remove ()
59
59
60
- # Configure loguru logger before starts logging
60
+ # Set the loguru default handlers
61
61
logger .configure (
62
62
handlers = [
63
63
{
64
- 'sink' : stdout ,
65
- 'level' : settings .LOG_STDOUT_LEVEL ,
66
- 'filter' : lambda record : record ['level' ].no <= 25 ,
64
+ 'sink' : sys .stdout ,
65
+ 'level' : settings .LOG_STD_LEVEL ,
67
66
'format' : settings .LOG_STD_FORMAT ,
68
- },
69
- {
70
- 'sink' : stderr ,
71
- 'level' : settings .LOG_STDERR_LEVEL ,
72
- 'filter' : lambda record : record ['level' ].no >= 30 ,
73
- 'format' : settings .LOG_STD_FORMAT ,
74
- },
67
+ }
75
68
]
76
69
)
77
70
78
71
79
- def set_customize_logfile ():
72
+ def set_custom_logfile ():
80
73
log_path = path_conf .LOG_DIR
81
74
if not os .path .exists (log_path ):
82
75
os .mkdir (log_path )
83
76
84
77
# log files
85
- log_stdout_file = os .path .join (log_path , settings .LOG_STDOUT_FILENAME )
86
- log_stderr_file = os .path .join (log_path , settings .LOG_STDERR_FILENAME )
78
+ log_access_file = os .path .join (log_path , settings .LOG_ACCESS_FILENAME )
79
+ log_error_file = os .path .join (log_path , settings .LOG_ERROR_FILENAME )
87
80
88
- # loguru logger: https://loguru.readthedocs.io/en/stable/api/logger.html#loguru._logger.Logger.add
81
+ # set loguru logger default config
82
+ # https://loguru.readthedocs.io/en/stable/api/logger.html#loguru._logger.Logger.add
89
83
log_config = {
90
- 'rotation' : '10 MB' ,
91
- 'retention' : '15 days' ,
92
- 'compression' : 'tar.gz' ,
93
- 'enqueue' : True ,
94
84
'format' : settings .LOG_FILE_FORMAT ,
85
+ 'enqueue' : True ,
86
+ 'rotation' : '5 MB' ,
87
+ 'retention' : '7 days' ,
88
+ 'compression' : 'tar.gz' ,
95
89
}
96
90
97
91
# stdout file
98
92
logger .add (
99
- str (log_stdout_file ),
100
- level = settings .LOG_STDOUT_LEVEL ,
101
- ** log_config ,
93
+ str (log_access_file ),
94
+ level = settings .LOG_ACCESS_FILE_LEVEL ,
95
+ filter = lambda record : record [ 'level' ]. no <= 25 ,
102
96
backtrace = False ,
103
97
diagnose = False ,
98
+ ** log_config ,
104
99
)
105
100
106
101
# stderr file
107
102
logger .add (
108
- str (log_stderr_file ),
109
- level = settings .LOG_STDERR_LEVEL ,
110
- ** log_config ,
103
+ str (log_error_file ),
104
+ level = settings .LOG_ERROR_FILE_LEVEL ,
105
+ filter = lambda record : record [ 'level' ]. no >= 30 ,
111
106
backtrace = True ,
112
107
diagnose = True ,
108
+ ** log_config ,
113
109
)
114
110
115
111
0 commit comments