带有 debug=false 的 Wagtail 清空日志文件
Wagtail Empty log file with debug=false
我正在使用 wagtail 2.7
、Django 2.2.5
并且正在尝试将日志记录到文件中。当 DEBUG=True 时,一切正常,我有我的日志。但是当 DEBUG=False 在生产中我的日志文件是空的。我尝试了很多不同的日志记录配置,但它们在产品中不起作用,使用一个配置我得到了 DEBUG 日志,但我无法获得 ERROR 日志。
我当前的配置 [appname/settings/base.py]:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse',
},
},
'formatters': {
'verbose': {
'format': "[%(asctime)s] %(levelname)s [%(pathname)s:%(lineno)s] %(message)s",
'datefmt': "%d/%b/%Y %H:%M:%S"
},
'simple': {
'format': '%(levelname)s %(message)s'
},
},
'handlers': {
'file': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'logging.FileHandler',
'filename': os.path.join(ev('APP_LOG_DIR'), "debug.log"),
"formatter": "verbose",
},
},
'loggers': {
'django': {
'handlers': ['file'],
'level': 'ERROR',
'propagate': True,
},
'django.request': {
'handlers': ['file'],
'level': 'ERROR',
'propagate': True,
},
'django.server': {
'handlers': ['file',],
'level': 'ERROR',
'propagate': True,
},
}
使用此配置我得到了调试日志,但错误不起作用:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': "[%(asctime)s] %(levelname)s [%(pathname)s:%(lineno)s] %(message)s",
'datefmt': "%d/%b/%Y %H:%M:%S"
},
'simple': {
'format': '%(levelname)s %(message)s'
},
},
'handlers': {
'fileError': {
'level': 'ERROR',
'class': 'logging.FileHandler',
'filename': os.path.join(ev('APP_LOG_DIR'), "error.log"),
"formatter": "verbose",
},
'fileDebug': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': os.path.join(ev('APP_LOG_DIR'), "debug.log"),
"formatter": "verbose",
},
},
'root': {
'handlers': ['fileError', 'fileDebug'],
'level': 'DEBUG',
},
'loggers': {
'':{
'handlers': ['fileError','fileDebug'],
'level': 'ERROR',
'propagate': True,
},
'django': {
'handlers': ['fileError','fileDebug'],
'propagate': True,
'level': 'ERROR',
},
'django.request': {
'handlers': ['fileError','fileDebug'],
'propagate': True,
'level': 'DEBUG',
},
'core': {
'handlers': ['fileError', 'fileDebug'],
'propagate': True,
'level': 'DEBUG',
},
'itechart': {
'handlers': ['fileError','fileDebug'],
'propagate': True,
'level': 'ERROR',
}
}
此外,如果我删除文件,应用程序会生成新的,但为空。
我已经解决了这个问题。原因在 500.html。我删除了它并且它有效。
我正在使用 wagtail 2.7
、Django 2.2.5
并且正在尝试将日志记录到文件中。当 DEBUG=True 时,一切正常,我有我的日志。但是当 DEBUG=False 在生产中我的日志文件是空的。我尝试了很多不同的日志记录配置,但它们在产品中不起作用,使用一个配置我得到了 DEBUG 日志,但我无法获得 ERROR 日志。
我当前的配置 [appname/settings/base.py]:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse',
},
},
'formatters': {
'verbose': {
'format': "[%(asctime)s] %(levelname)s [%(pathname)s:%(lineno)s] %(message)s",
'datefmt': "%d/%b/%Y %H:%M:%S"
},
'simple': {
'format': '%(levelname)s %(message)s'
},
},
'handlers': {
'file': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'logging.FileHandler',
'filename': os.path.join(ev('APP_LOG_DIR'), "debug.log"),
"formatter": "verbose",
},
},
'loggers': {
'django': {
'handlers': ['file'],
'level': 'ERROR',
'propagate': True,
},
'django.request': {
'handlers': ['file'],
'level': 'ERROR',
'propagate': True,
},
'django.server': {
'handlers': ['file',],
'level': 'ERROR',
'propagate': True,
},
}
使用此配置我得到了调试日志,但错误不起作用:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': "[%(asctime)s] %(levelname)s [%(pathname)s:%(lineno)s] %(message)s",
'datefmt': "%d/%b/%Y %H:%M:%S"
},
'simple': {
'format': '%(levelname)s %(message)s'
},
},
'handlers': {
'fileError': {
'level': 'ERROR',
'class': 'logging.FileHandler',
'filename': os.path.join(ev('APP_LOG_DIR'), "error.log"),
"formatter": "verbose",
},
'fileDebug': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': os.path.join(ev('APP_LOG_DIR'), "debug.log"),
"formatter": "verbose",
},
},
'root': {
'handlers': ['fileError', 'fileDebug'],
'level': 'DEBUG',
},
'loggers': {
'':{
'handlers': ['fileError','fileDebug'],
'level': 'ERROR',
'propagate': True,
},
'django': {
'handlers': ['fileError','fileDebug'],
'propagate': True,
'level': 'ERROR',
},
'django.request': {
'handlers': ['fileError','fileDebug'],
'propagate': True,
'level': 'DEBUG',
},
'core': {
'handlers': ['fileError', 'fileDebug'],
'propagate': True,
'level': 'DEBUG',
},
'itechart': {
'handlers': ['fileError','fileDebug'],
'propagate': True,
'level': 'ERROR',
}
}
此外,如果我删除文件,应用程序会生成新的,但为空。
我已经解决了这个问题。原因在 500.html。我删除了它并且它有效。