月光大保健

导航

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')

posted on 2018-03-04 21:20  月光大保健  阅读(195)  评论(0编辑  收藏  举报