logging模块学习
1、创建句柄
2、句柄添加格式化输出
3、句柄添加报警级别
4、logger添加句柄
import sys
import os
#为了防止命令行执行py文件报错
curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]
sys.path.append(rootPath)
import logging
import time
from logging.handlers import TimedRotatingFileHandler
class Logger(object):
def __init__(self,logger_name='interfaceTest'):
self.logger = logging.getLogger(logger_name)
logging.root.setLevel(logging.NOTSET)
self.log_file_name = 'test.log'
self.backip_count = 5
#日志输出级别
self.console_output_level = 'WARN'
self.file_output_level = 'INFO'
#日子输出格式
self.formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
def get_logger(self):
"""在logger中添加日子句柄并返回,如果logger已有句柄,则直接返回"""
if not self.logger.handlers:
console_handle = logging.StreamHandler()
console_handle.setFormatter(self.formatter)
console_handle.setLevel(self.console_output_level)
self.logger.addHandler(console_handle)
#每天新建一个日志文件,最多保留backup_count份
file_handle = TimedRotatingFileHandler(".\\logger\\"+self.log_file_name,
when='D',
interval=1,
backupCount=self.backip_count,
delay=True,
encoding='UTF-8'
)
file_handle.setFormatter(self.formatter)
file_handle.setLevel(self.file_output_level)
self.logger.addHandler(file_handle)
return self.logger
logger = Logger().get_logger()
posted on 2018-03-26 14:03 Overtimer-加班哥 阅读(159) 评论(0) 收藏 举报
浙公网安备 33010602011771号