gue*_*tli 7 python django logging
如果我们的Django Web应用程序返回404,我们会在日志中看到:
2017-11-21 12:48:26 django.request.get_response: WARNING Not Found: /foooooo
Run Code Online (Sandbox Code Playgroud)
我想将get_response()创建的这一特定行从WARN更改为INFO.
如何使用Django和Python进行配置?
另一种解决方案是忽略此行,但首选WARN到INFO.
你不能轻易做到这一点,因为Django开发人员已经确定这个特定的事件非常重要,可以被归类为WARNING.
但是,你可以将其转换为INFO写日志的时候,通过增加的实例logging.Filter,其改变了水平子LogRecord从WARNING到INFO,或者完全过滤掉的消息.
应将过滤器添加到应以这种方式更改其输出的任何处理程序.这可以使用标准的Django日志记录配置机制来完成.
首先创建记录器过滤器
def change_404_level_to_INFO(record):
if record.status_code == 404:
record.levelname = 'INFO'
return True
Run Code Online (Sandbox Code Playgroud)
之后LOGGING添加此过滤器并在记录器上设置过滤器
LOGGING = {
....
'filters': {
'change_404_to_INFO': {
'()': 'django.utils.log.CallbackFilter',
'callback': change_404_to_INFO`,
},
},
....
'loggers': {
'django.request': {
'handlers': ['console',],
'level': 'DEBUG',
'propagate: False,
'filters': ['change_404_to_INFO'],
},
}
....
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
362 次 |
| 最近记录: |