使用FileHandler的Django日志无法正常工作 [英] Django Logging with FileHandler not Working
本文介绍了使用FileHandler的Django日志无法正常工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在将下面的日志记录设置与django项目一起使用(也使用了sendry/raven).sentry/raven位工作正常,但文件日志记录却不行.创建了一个空的日志文件,但是每当我使用 logging.info('foo')
时,日志文件中都不会出现任何内容(即,它保持为空).有什么建议吗?
I am using the logging setup below with a django project (also using sentry/raven). The sentry/raven bit is working fine, but the file logging isn't. An empty logfile is created, but whenever I use logging.info('foo')
nothing comes up in the log file (i.e. it remains empty). Any suggestions?
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'root': {
'level': 'WARNING',
'handlers': ['sentry'],
},
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
},
},
'handlers': {
'sentry': {
'level': 'ERROR',
'class': 'raven.contrib.django.handlers.SentryHandler',
},
'file': {
'level': 'INFO',
'class': 'logging.FileHandler',
'filename': '/var/log/django/breeding.log',
},
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'verbose'
}
},
'loggers': {
'django.db.backends': {
'level': 'ERROR',
'handlers': ['console'],
'propagate': False,
},
'raven': {
'level': 'DEBUG',
'handlers': ['console'],
'propagate': False,
},
'sentry.errors': {
'level': 'DEBUG',
'handlers': ['console'],
'propagate': False,
},
},
}
推荐答案
这是快速解答.
更完整:
在Django日志记录设置中,请遵循以下脚本:
This is a Quick Answer.
More complete:
In Django logging setting follow this script:
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'verbose': {
'format': '%(levelname)3.3s %(asctime)22.22s [%(name)s:%(funcName)s] {%(process)d} %(message)s'
}
},
'handlers': {
'sentry-warn': {
'level': 'WARNING',
'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler',
},
'sentry-info': {
'level': 'INFO',
'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler',
},
'sentry-error': {
'level': 'ERROR',
'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler',
},
'console': {
'level': 'WARNING',
'class': 'logging.StreamHandler',
'formatter': 'verbose'
},
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler',
}
},
'loggers': {
'sentry': {
'level': 'DEBUG',
'handlers': ['sentry-warn', 'console', 'file', 'sentry-info', 'sentry-error'],
'propagate': False,
},
'sentry-warn': {
'level': 'DEBUG',
'handlers': ['sentry-warn', 'console', 'file'],
'propagate': False,
},
'sentry-error': {
'level': 'DEBUG',
'handlers': ['console', 'file', 'sentry-error'],
'propagate': False,
},
'sentry-info': {
'level': 'DEBUG',
'handlers': ['console', 'file', 'sentry-info'],
'propagate': False,
},
'django': {
'handlers': ['console', 'file', 'mail_admins'],
'propagate': False,
},
},
'root': {
'handlers': ['console', 'file', 'mail_admins'],
'level': 'INFO'
},
}
测试:
from logging import getLogger
logger = getLogger('sentry')
log_war = getLogger('sentry-warn')
log_inf = getLogger('sentry-info')
log_err = getLogger('sentry-error')
logger.warning('warn')
logger.info('info')
logger.error('error')
log_err.error('new error')
log_war.warning('new warn')
log_inf.info('new info')
这篇关于使用FileHandler的Django日志无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文