日志记录级别的默认数字值为:
我需要更改此值并设置 DEBUG值设为20 和 信息到10
请让我知道该怎么做。
目前这是我的代码:
log =logging.getLogger(__name__)
log.setLevel(logging.DEBUG)
formatter =logging.Formatter('[%(module)s](%(lineno)d) [%(levelname)s] : %(message)s')
file_handler = logging.FileHandler('debug.log', mode='w')
file_handler.setFormatter(formatter)
log.addHandler(file_handler)
stream_handler = logging.StreamHandler()
stream_handler.setFormatter(formatter)
log.addHandler(stream_handler)
log.warning('This is a warning')
log.error('This is an error')
log.info('This is an INFO')
log.debug('This is an DEBUG')
log.critical('This is an CRITICAL')
答案 0 :(得分:1)
您可以在处理程序上使用过滤器,该过滤器可以选择具有特定级别的消息。
在这种情况下,Filter子类上的filter方法的主体为:
return record.getLevel() == logging.DEBUG
答案 1 :(得分:0)
这就是我的解决方法
我创建了这样的过滤器:
class debugFilter(logging.Filter):
def filter(self, record):
if (record.levelno == 10):
return True
else:
return False
和主要代码:
file_handler = logging.FileHandler('debug.log', mode='w')
file_handler.addFilter(debugFilter())
file_handler.setFormatter(formatter)
log.addHandler(file_handler)