kev*_*kev 13 python django logging configuration-files
我试图在Django中将调试级别更改为DEBUG,因为我想在我的代码中添加一些调试消息.它似乎没有效果.
我的日志配置:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'simple': {
'format': '%(levelname)s %(message)s'
},
},
'handlers': {
'console':{
'level':'DEBUG',
'class':'logging.StreamHandler',
'formatter': 'simple'
},
},
'loggers': {
'django.request':{
'handlers': ['console'],
'propagate': False,
'level': 'DEBUG',
},
},
}
Run Code Online (Sandbox Code Playgroud)
码:
import logging ; logger = logging.getLogger(__name__)
logger.debug("THIS MESSAGE IS NOT SHOWN IN THE LOGS")
logger.warn("THIS ONE IS")
Run Code Online (Sandbox Code Playgroud)
控制台上的输出:
WARNING:core.handlers:THIS ONE IS
Run Code Online (Sandbox Code Playgroud)
我也尝试在我的设置文件中设置DEBUG = False和DEBUG = True.有任何想法吗?
编辑:如果我直接在记录器上设置日志级别,它可以工作:
import logging ; logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
logger.debug("THIS MESSAGE IS NOT SHOWN IN THE LOGS")
Run Code Online (Sandbox Code Playgroud)
输出:
DEBUG:core.handlers:THIS MESSAGE IS NOT SHOWN IN THE LOGS
WARNING:core.handlers:THIS ONE IS
Run Code Online (Sandbox Code Playgroud)
但是:似乎配置文件完全被忽略了.即使我将配置中的两个条目都设置回ERROR,它也会始终打印两个语句.这是正确的行为还是我还缺少什么?
Vin*_*jip 10
你需要添加例如
'core.handlers': {
'level': 'DEBUG',
'handlers': ['console']
}
Run Code Online (Sandbox Code Playgroud)
与django.request条目并行,或
'root': {
'level': 'DEBUG',
'handlers': ['console']
}
Run Code Online (Sandbox Code Playgroud)
与'loggers'条目并行.这将确保在您实际使用的记录器上设置级别,而不仅仅是django.request记录器.
更新:要显示所有模块的消息,只是添加条目旁边django.request,包括您的顶层模块,例如api,handlers,core或什么的.既然你还没有准确地说出你的包/模块层次结构是什么,我就不能更具体了.
小智 5
我通过改变来修复它
LOGGING = {
...
}
Run Code Online (Sandbox Code Playgroud)
到:
logging.config.dictConfig({
...
})
Run Code Online (Sandbox Code Playgroud)
例如,将所有消息记录到控制台:
import logging.config
LOGGING_CONFIG = None
logging.config.dictConfig({
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'console': {
# exact format is not important, this is the minimum information
'format': '%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
},
},
'handlers': {
'console': {
'class': 'logging.StreamHandler',
'formatter': 'console',
},
},
'loggers': {
# root logger
'': {
'level': 'DEBUG',
'handlers': ['console'],
},
},
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21146 次 |
| 最近记录: |