在使用 django 的 logging 的时候,配置之后,测试发现,只有调用 ERROR 的时候,信息才会被写到文件, DEBUG 和 INFO 部分没有被记录,请问大家有没有遇到过类似的情况,多谢。
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse',
},
'require_debug_true': {
'()': 'django.utils.log.RequireDebugTrue',
},
},
'formatters': {
'simple': {
'format': '[%(asctime )s] %(levelname )s %(message )s',
'datefmt': '%Y-%m-%d %H:%M:%S'
},
'verbose': {
'format': '[%(asctime )s] %(levelname )s [%(name )s.%(funcName )s:%(lineno )d] %(message )s',
'datefmt': '%Y-%m-%d %H:%M:%S'
},
},
'handlers': {
'console': {
'level': 'DEBUG',
'filters': ['require_debug_true'],
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
'development_logfile': {
'level': 'DEBUG',
'filters': ['require_debug_true'],
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/data/log/django/dyd/django_dev.log',
'maxBytes': 1024 * 1024 * 5, # 5 MB
'backupCount': 7,
'formatter': 'verbose'
},
'production_logfile': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/data/log/django/dyd/django_production.log',
'maxBytes': 1024 * 1024 * 5, # 5 MB
'backupCount': 7,
'formatter': 'simple'
},
'dba_logfile': {
'level': 'DEBUG',
'filters': ['require_debug_false','require_debug_true'],
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/data/log/django/dyd/django_dba.log',
'maxBytes': 1024 * 1024 * 5, # 5 MB
'backupCount': 7,
'formatter': 'simple'
},
},
'loggers': {
'dyd': {
'handlers': ['development_logfile','production_logfile'],
},
'invitesport': {
'handlers': ['development_logfile','production_logfile'],
},
'dba': {
'handlers': ['console','dba_logfile'],
},
'django': {
'handlers': ['console','development_logfile','production_logfile'],
},
'py.warnings': {
'handlers': ['console','development_logfile'],
},
}
}
测试代码:
>>> import logging
>>> logg=logging.getLogger ('dyd')
>>> logg.info ('adsfasdf')
>>> logg.error ('adsfasdf')
文件内容:
[2015-08-26 18:13:43] ERROR [dyd.<module>:1] adsfasdf
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.