Python-输出日志:logging模块
0 前言
2 logging模块(内置库)
logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等
logging中可以选择很多消息级别,如debug、info、warning、error以及critical。通过赋予logger或者handler不同的级别,开发者就可以只输出错误信息到特定的记录文件,或者在调试时只记录调试信息。
# -*- coding:utf-8 -*-
import logging
class Logger:
def __init__(self, loggername=None):
#创建一个logger
self.logger = logging.getLogger(loggername)
self.logger.setLevel(logging.DEBUG)
#创建一个handler,用于写入日志文件
logname = 'F:\\SoftwareTest\\LOGTEST\logs\\out.log' #指定输出的日志文件名
fh = logging.FileHandler(logname, encoding='utf-8') # 指定utf-8格式编码,避免输出的日志文本乱码
fh.setLevel(logging.DEBUG)
#创建一个handler,用于将日志输出到控制台
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
# 定义handler的输出格式
formatter = logging.Formatter('%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
fh.setFormatter(formatter)
ch.setFormatter(formatter)
# 给logger添加handler
self.logger.addHandler(fh)
self.logger.addHandler(ch)
a = 5
if a == 5:
Logger().logger.debug('测试通过')
else:
Logger().logger.debug('测试不通过')