logging模块使用

# Aythor:Tom

import logging
from logging import handlers
class IgnoreBackupLogFilter(logging.Filter):
"""忽略带db backup 的日志"""
def filter(self, record): #固定写法
return "db backup" not in record.getMessage()

#1.生成 logger对象

#1.1 把filter对象添加到logger中翻
logger = logging.getLogger('web')
logger.setLevel(logging.INFO)

logger.addFilter(IgnoreBackupLogFilter())



#2.生成handler对象
ch = logging.StreamHandler()
#按文件大小截取
#fh = handlers.RotatingFileHandler('web.log',maxBytes=10,backupCount=3)

#按时间节点截取
fh = handlers.TimedRotatingFileHandler(filename='web.log',when='S',interval=5,backupCount=3)

#2.1把handler对象绑定到logger
logger.addHandler(ch)
logger.addHandler(fh)


#3.生成formatter对象
file_formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
console_formatter = logging.Formatter('%(asctime)s - %(name)s - %(lineno)s- %(module)s - %(message)s')

#3.1 把formatter对象 绑定到handler对象 #全局的默认级别是Warning
ch.setFormatter(file_formatter)
fh.setFormatter(console_formatter)


logger.debug('test log')
logger.warning('test log2')
logger.debug('test log db backup')
原文地址:https://www.cnblogs.com/tyh-tesla/p/8506202.html