先贴上代码
import logging
# 获取 logging 对象
logger = logging.getLogger(__name__)
# 增加一个header
header = logging.FileHandler('./demo.log')
# 格式化方式
logger_format = logging.Formatter('%(asctime)s %(created)f %(filename)s %(funcName)s %(levelname)s %(levelno)s %(lineno)d %(message)s')
# 记录日志登记
header.setLevel(logging.INFO)
# 使格式化方式生效
header.setFormatter(logger_format)
# header 生效
logger.addHandler(header)
# 打印日志
logger.debug('1111')
logger.error('222')
日志信息如下:
2020-06-28 17:57:00,187 1593338220.187391 demo1.py <module> ERROR 40 12
2020-06-28 17:57:20,574 1593338240.574179 demo1.py <module> ERROR 40 12 222
可以看到 我们设置的日志登记为 info, 在日志文件中 1111
并没有被打印出来, 而等级比较高的error
被打印出来了
参考资料
模块 logging — Python 的日志记录工具