logging配置
发表于:2025-01-22 | 分类: 编程语言 Python

常用代码片段

临时打印

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import logging

# 控制台输出
logging.basicConfig(
level=logging.INFO,
format='[%(asctime)s][%(levelname)s] %(message)s',
)

# 文件输出
logging.basicConfig(
level=logging.INFO,
format='[%(asctime)s][%(levelname)s] %(message)s',
filename='./aaa.log'
)

使用字典配置

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
import logging.config

LOGGING_CONFIG = {
'version': 1.0,
'disable_existing_loggers': True, # 禁用已经存在的logger实例
'formatters': {
'verbose': {
'format': '[%(levelname)s][%(asctime)s][%(name)s][pid=%(process)d][tid=%(thread)d] %(message)s'
},
'standard': {
'format': '[%(asctime)s][%(levelname)s] %(message)s'
},
},
'handlers': {
'console': {
'level': 'INFO',
'class': 'logging.StreamHandler',
'formatter': 'verbose'
},
'time_rotate_file': {
'level': 'DEBUG',
'class': 'logging.handlers.TimedRotatingFileHandler',
'filename': LOG_FILE,
'when': 'D',
'backupCount': 30,
'encoding': 'utf8',
'formatter': 'verbose',
},
'cos_down_file': {
'level': 'DEBUG',
'class': 'logging.handlers.TimedRotatingFileHandler',
'filename': os.path.join(LOG_DIR, 'cos_download.log'),
'when': 'D',
'backupCount': 30,
'encoding': 'utf8',
'formatter': 'verbose',
},
},
'loggers': {
'console_logger': {
'handlers': ['console', 'time_rotate_file'],
'level': 'DEBUG',
'propagate': False,
},
'qcloud_cos.cos_client': {
'handlers': ['cos_down_file'],
'level': 'DEBUG',
'propagate': False,
}
},

# 配置root
# 'root': {
# 'handlers': ['console', 'time_rotate_file'],
# 'level': 'DEBUG',
# },
}

logging.config.dictConfig(LOGGING_CONFIG)

原理详解

python logging 模块处理逻辑

logging process

上一篇:
Jupyter安装和配置
下一篇:
SQLAlchemy使用教程