如何在Python和Django中登录日志过滤器?
我有一个简单的自定义过滤器,可以简单地将错误的日志级别更改为警告。代码是如何在Python和Django中登录日志过滤器?,python,django,logging,filter,Python,Django,Logging,Filter,我有一个简单的自定义过滤器,可以简单地将错误的日志级别更改为警告。代码是 import logging LOG = logging.getLogger(__name__) class MyErrorFilter(logging.Filter): def filter(self, record): if record.levelname == 'ERROR': print 'get record', str(record), record.lev
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(…)没有运行。我可以看到打印的消息和更改的日志级别,除了警告消息check something。这是一种预期的行为还是我在这里犯了错误?谢谢 不要从内部记录代码进行记录,这就是
过滤器的本质-它是从记录机器内部调用的。日志记录是为从应用程序和库中记录而设计的,但不用于记录日志记录中发生的事情。我并不是说它永远不会起作用,但这不是一个好的做法。没有足够的信息来回答您的问题-例如,您的日志配置没有给出,因此无法说明LOG.xxx为什么不生成任何输出