django如何将控制台输出存到日志文件中?

django.request都能将请求输出到控制台,保存到文件为什么就不行呢?有没有人处理过类似的问题?应该如何配置?

LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'formatters': {
        'simple': {
            'format': '[%(asctime)s] %(levelname)s %(message)s',
            'datefmt': '%Y-%m-%d %H:%M:%S'
        },
        'verbose': {
            'format': '[%(asctime)s] %(levelname)s [%(name)s.%(funcName)s:%(lineno)d] %(message)s',
            'datefmt': '%Y-%m-%d %H:%M:%S'
        },
    },
    'handlers': {
        'console':{
            'level':'DEBUG',
            'class':'logging.StreamHandler',
        },
        'logfile': {
            'level': 'ERROR',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': '/m/%s.log' % SESSION_COOKIE_NAME,
            'maxBytes': 1024 * 1024 * 5,  # 5 MB
            'backupCount': 7,
            'formatter': 'verbose'
        },
    },
    'loggers': {
        'django.request': {
            'handlers': ['console', 'logfile', 'logfileinfo'],
            'propagate': True,
            # 'level': 'DEBUG',
        },
    }
}
阅读 9.8k
1 个回答

django.request这个logger只会输出response为5XX(ERROR)和4XX(WARNING)的log。
而django.server这个logger不但输出response为5XX(ERROR)和4XX(WARNING)的log,还把所有其他的请求以INFO输出。
因此定制django.server这个logger就可以实现你的需求。

参考文档:https://docs.djangoproject.co...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题