Python 函数——logging.basicConfig使用

一、日志级别

在记录日志时, 日志消息都会关联一个级别(“级别”本质上是一个非负整数)。系统默认提供了6个级别,它们分别是:

级别

对应的值

CRITICAL

50

ERROR

40

WARNING

30

INFO

20

DEBUG

10

NOTSETT

0

使用时可以给level参数设置日志级别,低于该级别的日志消息将会被忽略

Python 函数——logging.basicConfig使用_第1张图片

二、basicConfig()函数各参数详解

filename :日志文件的保存路径。如果配置了此参数,将自动创建一个日志文件;
filemode :日志文件的打开模式。 默认值为’a’,表示日志消息以追加的形式添加到日志文件中。如果设为’w’, 那么每次程序启动的时候都会创建一个新的日志文件;
format :设置日志输出格式;
datefmt :定义日期格式;
level :设置日志的级别.对低于该级别的日志消息将被忽略;
stream :设置特定的流用于初始化StreamHandler;

三、format 输出格式详解

    %(levelno)s: 打印日志级别的数值

    %(levelname)s: 打印日志级别名称

    %(pathname)s: 打印当前执行程序的路径,其实就是sys.argv[0]

    %(filename)s: 打印当前执行程序名

    %(funcName)s: 打印日志的当前函数

    %(lineno)d: 打印日志的当前行号

    %(asctime)s: 打印日志的时间

    %(thread)d: 打印线程ID

    %(threadName)s: 打印线程名称

    %(process)d: 打印进程ID

    %(message)s: 打印日志信息

四、具体使用方式

import logging
import datetime

# 得到现在的时间
now = datetime.datetime.now()
# YYYY-MM-DD日期格式
date_now = now.date()

file_name = '日志文件名_' + str(date_now) + '.log'
#设置文件编码格式,避免中文乱码
file = open(file_name, encoding="utf-8", mode="a")
logging.basicConfig(
    stream=file,
    #设定日志记录最低级别
    level=logging.DEBUG,
    datefmt='%Y/%m/%d %H:%M:%S',
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)

logging.info('普通日志记录')
logging.warning('告警日志记录')
logging.debug('调试日志记录')

file.close()

五、输出结果

2020/02/23 21:45:58 - root - INFO - 普通日志记录
2020/02/23 21:45:58 - root - WARNING - 告警日志记录
2020/02/23 21:45:58 - root - DEBUG - 调试日志记录

 

你可能感兴趣的:(Python)