python中logging模块的使用方法

该篇博客详细介绍了Python中的logging模块,包括如何创建日志记录器、设置日志级别、定义日志格式和处理器。特别地,讲解了TimedRotatingFileHandler处理器,用于按天分割日志文件并保留指定数量的备份。示例代码演示了如何将日志输出到控制台和文件,以及如何在其他代码中调用这些设置。
摘要由CSDN通过智能技术生成

python中logging模块的使用方法

1.创建一个logging_logger.py文件,代码如下:
#!/usr/local/bin/python
# -*- coding: utf-8 -*-

"""
Log Level如下,严重等级为NOTSET, DEBUG, INFO, WARNING, ERROR, CRITICAL, 严重程度依次递增
"""

"""
logging.handlers.TimedRotatingFileHandler方法的参数说明如下:

filename 是输出日志文件名的前缀

when 是一个字符串的定义如下:
“S”: Seconds
“M”: Minutes
“H”: Hours
“D”: Days
“W”: Week day (0=Monday)
“midnight”: Roll over at midnight

interval 是指等待多少个单位when的时间后,Logger会自动重建文件,当然,这个文件的创建
取决于filename+suffix,若这个文件跟之前的文件有重名,则会自动覆盖掉以前的文件,所以
有些情况suffix要定义的不能因为when而重复。

backupCount 是保留日志个数。默认的0是不会自动删除掉日志。若设10,则在文件的创建过程中
库会判断是否有超过这个10,若超过,则会从最先创建的开始删除。
"""

import logging
import logging.handlers

# create formatter 创建一个格式器
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')


# 创建一个处理器ch 将日志输出到控制台
ch = logging.StreamHandler()
# 给处理器写入日志文件的 日志级别
ch.setLevel(logging.ERROR)
# 创建一个处理器ch2 将日志输出到文件,并按天分割日志
ch2 = logging.handlers.TimedRotatingFileHandler('./log/logging.log', when='D', interval=1, backupCount=30)
# 给处理器写入日志文件的 日志级别
ch2.setLevel(logging.DEBUG)


# add formatter to ch 将格式器设置给处理器
ch.setFormatter(formatter)
ch2.setFormatter(formatter)


# create logger 创建日志对象 记录器
logger = logging.getLogger(__name__)
# Set default log level 设置日志对象的输出日志级别.处理器中设置日志级别时以处理器中的设置优先
logger.setLevel(logging.DEBUG)


# add ch to logger 将处理器设置给日志对象 记录器
# The final log level is the higher one between the default and the one in handler
logger.addHandler(ch)
logger.addHandler(ch2)
2.在其他代码中使用logging_logger.py文件,实现日志打印控制台和文件
# 导入 logging_logger.py 模块
from logging_logger import logger
# 使用
logger.debug('This is a debug')
logger.info('This is a info')
logger.warning('This is a warning')
logger.error('This is a error')
logger.critical('This is a critical')
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值