我试图每天订购我的日志,但是在新的一天它不会创建新文件。它继续存储前一天的日志,除非我重新启动服务器。我怎么能解决这个问题?
我正在使用Django 1.4。
提前致谢!
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse'
}
},
'formatters':{
'verbose': {
'format': '[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s'
},
'simple': {
'format': '[%(levelname)s] %(message)s'
},
},
'handlers': {
'file_django': {
'class': 'logging.FileHandler',
'filename': '/var/log/zboss/django/log_' + date.today().strftime('%Y%m%d') + '.log',
'formatter': 'verbose',
'level': 'DEBUG'
},
'file_modules': {
'class': 'logging.FileHandler',
'filename': '/var/log/zboss/log_' + date.today().strftime('%Y%m%d') + '.log',
'formatter': 'verbose',
'level': 'DEBUG'
},
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler'
},
},
'loggers': {
'django': {
'handlers': ['file_django'],
'propagate': True,
'level': 'DEBUG'
},
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
'core.views': {
'handlers': ['file_modules'],
'propagate': True,
'level': 'DEBUG'
},
},
}
答案 0 :(得分:5)
请勿在此处设置日期:仅在导入时对其进行评估。
相反,请使用logging.TimedRotatingFileHandler
,它会自动为您添加时间戳,如下所示:
LOGGING = {
# ...
'handlers': {
'file': {
'level': 'INFO',
'formatter': 'verbose',
'filename': os.path.join(FOOBAR, 'foobar.log'),
'class': 'logging.handlers.TimedRotatingFileHandler',
'when': 'midnight',
'interval': 1,
},
},
}