【python】logging日志输出及保存至文件

本文介绍了如何使用Python的logging模块在控制台和文件中分别记录不同级别的日志,包括debug、info、warning、error和critical,同时使用了TimedRotatingFileHandler进行时间轮换以管理文件数量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:

  1. python + logging 实现日志输出及保存到文件
  2. Python + logging 输出到屏幕,将log日志写入文件
import logging
from logging import handlers

def get_logger(logger_name, file_path):	# logger名和logger文件存放地址
    logger = logging.getLogger(logger_name)
    logger.setLevel(level=logging.DEBUG)
    formatter = logging.Formatter('%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')

    time_rotating_file_handler = handlers.TimedRotatingFileHandler(file_path, when="MIDNIGHT", interval=1, backupCount=30)	#每天零点存一个文件,最多30个
    time_rotating_file_handler.setLevel(logging.DEBUG)
    time_rotating_file_handler.setFormatter(formatter)

    stream_handler = logging.StreamHandler()
    stream_handler.setLevel(logging.DEBUG)
    stream_handler.setFormatter(formatter)

    logger.addHandler(time_rotating_file_handler)
    logger.addHandler(stream_handler)

    return logger

if __name__ == '__main__':
	logger = get_logger('test','./test.log')
	logger.debug('This is a debug message.')
    logger.info('This is an info message.')
    logger.warning('This is a warning message.')
    logger.error('This is an error message.')
    logger.critical('This is a critical message.')
    try:
    	x = 1/0
    	logger.info(x)
    except Exception as e:
    	logger.error(e)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值