I'm using wagtail 2.7
, Django 2.2.5
and i'm trying to make logging to file. When DEBUG=True, all work fine and i have my logs. But when DEBUG=False in production my log file is empty. I tried a lot of different logging configs, but they doesn't work in prod, with one config i got DEBUG logs, but i can't get ERROR logs.
My current config [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,
},
}
With this config i got debug logs, but errors didn't work:
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',
}
}
Also if i delete files, application make new, but empty.
I've solved this. Reason was in 500.html. I removed it and it works.