我有一个简单的自定义过滤器,它只是将错误的日志级别更改为警告。代码是
import logging
LOG = logging.getLogger(__name__)
class MyErrorFilter(logging.Filter):
def filter(self, record):
if record.levelname == 'ERROR':
print 'get record', str(record), record.levelname, record.levelno
LOG.warn('check something')
record.levelname = 'WARNING'
record.levelno = logging.WARNING
return 1
过滤器运行良好,但我的过滤器内的LOG.warn(...)没有。我可以看到打印的消息并看到更改的日志级别,但警告消息检查除外。这是预期的行为还是我在这里犯了错误?谢谢!
答案 0 :(得分:0)
不要从日志记录代码中记录,这本质上是Filter
- 它是从日志记录机器内部调用的。日志记录用于从应用程序和库进行日志记录,但不用于记录日志记录中发生的情况。我不是说它不会起作用,但这不是好的做法。没有足够的信息来回答你的问题 - 例如,你没有给出你的日志配置,所以没有办法说明你的LOG.xxx为什么不产生任何输出。