python日志管理

Usage

通过下面的方法就可以将之后输出的日志同时输出到标准输出以及文件中。

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

# 创建日志对象
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)

# 定义日志格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

# 创建将日志写入文件的handler
fileHandler = logging.FileHandler('log.txt')
fileHandler.setLevel(logging.DEBUG)
fileHandler.setFormatter(formatter)

# 创建将日志写入标准输出的handler
stdHandler = logging.StreamHandler()
stdHandler.setLevel(logging.DEBUG)
stdHandler.setFormatter(formatter)

# 给logger添加handler
logger.addHandler(fileHandler)
logger.addHandler(stdHandler)

# 输出日志
logger.info("hello world")

日志级别

分为5个级别,从低到高顺序见下表,第二列表示 logger.setLevel(logging.DEBUG)中设置的常量,第三列表示 logger.info("hello world")中的方法名。

级别名称 常量名 方法名
调试 DEBUG debug()
信息 INFO info()
警告 WARNING warning()
错误 ERROR error()
致命错误 CRITICAL critical()