
在使用 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 1 julyclyde 2015-08-27 14:34:14 +08:00 'filters': ['require_debug_false','require_debug_true'], 这俩是不是语义冲突啊? 另外这是 python 的 logging 吧,不是 django 的。 django 并没有额外的 logging 机制 |