【问题标题】:Wagtail Empty log file with debug=falseWagtail 带有 debug=false 的空日志文件
【发布时间】:2021-07-05 09:06:05
【问题描述】:

我正在使用wagtail 2.7Django 2.2.5,我正在尝试将日志记录到文件中。当 DEBUG=True 时,一切正常,我有我的日志。但是当 DEBUG=False 在生产中我的日志文件是空的。我尝试了很多不同的日志配置,但它们在 prod 中不起作用,使用一个配置我得到了 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',
    }
}

另外,如果我删除文件,应用程序会新建,但为空。

【问题讨论】:

    标签: django wagtail error-logging


    【解决方案1】:

    我已经解决了这个问题。原因在 500.html 中。我删除了它,它可以工作。

    【讨论】:

      猜你喜欢
      • 2012-10-09
      • 2019-10-02
      • 2020-12-31
      • 2015-04-11
      • 2013-10-17
      • 2018-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多