Python的日志模块

2023-01-05 Python进阶

Python的日志模块用于将日志存放到文件中。

# logging.basicConfig

参数名 作用 举例
level 日志输出等级 level=logging.DEBUG
format 日志输出格式
filename 存储位置 filename='d://back.log'
filemode 输入模式 filemode='w'

# format具体格式

格式符 含义
%(levelname)s 日志级别名称
%(pathname)s 执行程序的路径
%(filename)s 执行程序名
%(lineno)d 日志的当前行号
%(asctime)s 打印日志的时间
%(message)s 日志信息

常用格式:

format='%(asctime)s %(filename)s %(lineno)d %(levelname)s %(message)s'

# 案例

日志存放到当前目录下back.log文件中,如果文件存在则使用a模式,如果文件不存在则使用w模式

import logging
import os


def init_log(path):
    if os.path.exists(path):
        mode = 'a'
    else:
        mode = 'w'
    logging.basicConfig(
        level=logging.INFO,
        format='%(asctime)s %(filename)s %(lineno)d %(levelname)s %(message)s',
        filename=path,  # 当前目录下back.log文件
        filemode=mode  # 如果文件不存在则使用w,如果文件存在则使用a追加
    )
    return logging


path = os.path.join(os.getcwd(), 'back.log')
log = init_log(path)

log.info('这是第一个记录的日志信息')
log.warning('这是一个警告')
log.error('这是一个重大的错误信息')
log.debug('这是一个debug')

文件内容如下,因为设置为只显示info及以上级别,所以DEBUG级别的日志不显示

2023-01-02 10:59:54,541 log.py 24 INFO 这是第一个记录的日志信息
2023-01-02 10:59:54,541 log.py 25 WARNING 这是一个警告
2023-01-02 10:59:54,541 log.py 26 ERROR 这是一个重大的错误信息
上次更新: 1 年前