Python - 使用logging模块管理日志文件

本文最后更新于:2021年11月1日 中午

logging是很友好的python日志管理包,轻便好用,本文介绍logging使用方法。

使用步骤

在程序中引入包:

1
import logging

配置日志设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
logging.basicConfig(

# 日志级别,logging.DEBUG,logging.ERROR
level = logging.INFO,

# 日志格式: 时间、代码所在文件名、代码行号、日志级别名字、日志信息
format = '%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',

# 打印日志的时间
datefmt = '%a, %Y-%m-%d %H:%M:%S',

# 日志文件存放的目录(目录必须存在)及日志文件名
filename = log_file_path,

# 打开日志文件的方式
filemode = open_type
)

配置说明

  • level

    表示日志记录级别

    所谓级别包括:调试级(debug) ,信息级(info),警告级(warning),错误级(error),严重级(critical)

    其中的优先级关系为:debug < info < warning <error < critical

    日志本身设置有级别(如本例为INFO),只会记录不小于自身级别的的信息(如本例设置就不会记录DEBUG级别信息)

  • format

    格式配置,核心信息为我们需要记录的%(message)s,此外还可以记录时间、文件名、行号、日志级别等信息

  • datefmt

    时间格式设置 '%a, %Y-%m-%d %H:%M:%S'分别表示 -星期 -年 -月 -日 -时 -分 -秒

  • filename

    日志文件路径

  • filemode

    日志文件打开模式,一般为w(写入)或a(追加)

日志记录示例

1
2
3
4
5
logging.debug('debug')  # this message won't be wrote to the log file, for the priority of DEBUG is lower than INFO
logging.info('info')
logging.warning('warning')
logging.error('error')
logging.critical('critical')

日志文件信息

1
2
3
4
Sat, 2020-04-11 15:08:38 logging_test.py[line:51] INFO info
Sat, 2020-04-11 15:08:38 logging_test.py[line:52] WARNING warning
Sat, 2020-04-11 15:08:38 logging_test.py[line:53] ERROR error
Sat, 2020-04-11 15:08:38 logging_test.py[line:54] CRITICAL critical

获取源码

文中测试环境与所有源码可在Github下载。