python日志
1. logging日志的使用
python中,可以使用 logging 这个包来完成日志记录
在 logging 包中记录日志的方式有两种:
- 输出到控制台
- 保存到日志文件
日志信息输出到控制台的示例代码:
import logging logging.debug('这是一个debug级别的日志信息') logging.info('这是一个info级别的日志信息') logging.warning('这是一个warning级别的日志信息') logging.error('这是一个error级别的日志信息') logging.critical('这是一个critical级别的日志信息')
运行结果:
WARNING:root:这是一个warning级别的日志信息
ERROR:root:这是一个error级别的日志信息
CRITICAL:root:这是一个critical级别的日志信息
说明:
- 日志信息只显示了大于等于WARNING级别的日志,这说明默认的日志级别设置为WARNING
2. logging日志等级和输出格式的设置:
import logging # 设置日志等级和输出日志格式 logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s') logging.debug('这是一个debug级别的日志信息') logging.info('这是一个info级别的日志信息') logging.warning('这是一个warning级别的日志信息') logging.error('这是一个error级别的日志信息') logging.critical('这是一个critical级别的日志信息')
运行结果:
2019-02-13 20:41:33,080 - hello.py[line:6] - DEBUG: 这是一个debug级别的日志信息 2019-02-13 20:41:33,080 - hello.py[line:7] - INFO: 这是一个info级别的日志信息 2019-02-13 20:41:33,080 - hello.py[line:8] - WARNING: 这是一个warning级别的日志信息 2019-02-13 20:41:33,080 - hello.py[line:9] - ERROR: 这是一个error级别的日志信息 2019-02-13 20:41:33,080 - hello.py[line:10] - CRITICAL: 这是一个critical级别的日志信息
代码说明:
- level 表示设置的日志等级
- format 表示日志的输出格式, 参数说明:
- %(levelname)s: 打印日志级别名称
- %(filename)s: 打印当前执行程序名
- %(lineno)d: 打印日志的当前行号
- %(asctime)s: 打印日志的时间
- %(message)s: 打印日志信息
3. 日志信息保存到日志文件的示例代码:
import logging logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s', filename="log.txt", filemode="w") logging.debug('这是一个debug级别的日志信息') logging.info('这是一个info级别的日志信息') logging.warning('这是一个warning级别的日志信息') logging.error('这是一个error级别的日志信息') logging.critical('这是一个critical级别的日志信息')