-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlogging_config.py
64 lines (54 loc) · 1.95 KB
/
logging_config.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import logging
import logging.config
def setup_logging(log_level=logging.INFO):
"""
配置日志系统。
此函数配置了应用程序的日志记录方式,包括控制台输出和文件记录。
日志级别可以通过log_level参数进行设置。
"""
# 定义日志配置字典
logging_config = {
# 配置版本号,必须存在且值为1
'version': 1,
# 不禁用已存在的日志器
'disable_existing_loggers': False,
# 定义日志格式
'formatters': {
'standard': {
# 标准日志格式,包括时间戳、日志级别、记录器名称和消息
'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s'
},
},
# 定义处理器,即日志信息如何被发送到目的地
'handlers': {
'console': {
# 控制台处理器,用于在控制台显示日志
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'standard'
},
'file': {
# 文件处理器,用于将日志记录到文件中
'level': 'INFO',
'class': 'logging.FileHandler',
'formatter': 'standard',
# 日志文件名为app.log
'filename': 'app.log',
# 文件打开模式为追加
'mode': 'a',
},
},
# 定义各个日志器的处理方式
'loggers': {
'': { # 根日志器
# 使用的处理器列表
'handlers': ['console', 'file'],
# 设置日志级别为传入的log_level参数
'level': log_level,
# 是否传递给父日志器
'propagate': True
},
}
}
# 使用字典配置日志系统
logging.config.dictConfig(logging_config)