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

2022-08-04 14:55:01 浏览数 (1)

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

使用步骤

在程序中引入包:

代码语言:javascript复制
import logging

配置日志设置

代码语言:javascript复制
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(追加)

日志记录示例

代码语言:javascript复制
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')

日志文件信息

代码语言:javascript复制
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下载。

0 人点赞