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

查看:1300
本文介绍了python - 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',
        },
    }
}

解决方案

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...

这篇关于python - django如何将控制台输出存到日志文件中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆