带有 debug=false 的 Wagtail 清空日志文件

Wagtail Empty log file with debug=false

我正在使用 wagtail 2.7Django 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。我删除了它并且它有效。