您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

将django.request记录到文件而不是控制台

5b51 2022/1/14 8:22:18 python 字数 2595 阅读 572 来源 www.jb51.cc/python

我正在尝试配置我的 django settings.py以正确使用 python日志记录工具,但我偶然发现了一个相当奇怪的问题: 即使在阅读了docs之后,我也无法找到如何将控制台打印的调试请求行从Django重定向到我指定的文件;以下是我的日志记录配置的一部分. LOGGING = { 'version': 1, 'formatters': { 'simple':

概述

即使在阅读了docs之后,我也无法找到如何将控制台打印的调试请求行从Django重定向到我指定的文件;以下是我的日志记录配置的一部分.

LOGGING = {
    'version': 1,'formatters': {
        'simple': {
            'format': '%(levelname)s %(message)s'
        },}
    'handlers': {
        'file_http': {
            'level': 'DEBUG','class': 'logging.FileHandler','filename': r'C:\mysystem-http.log','formatter': 'verbose'
        }
    },'loggers': {
        'django.request': {
            'handlers': ['file_http'],'level': 'DEBUG','propagate': False
        }
    }
}

我一直看到以下格式的控制台打印行:

[19 / Dec / 2014 11:48:03]“POST / api / v1 / HTTP / 1.1”200 10

如何使用日志工具将这些重定向文件

提前致谢

import sys

class Logger(object):
    def __init__(self):
        self.console = sys.stderr
        self.file = open("runserver.log","a",0)

    def write(self,msg):
        self.console.write(msg)
        self.file.write(msg)

sys.stderr = Logger()

在write方法中,您也可以使用日志记录系统通过LOGGING设置来处理此问题.

更新:

在Django 1.10中,runserver输出通过日志记录:
https://docs.djangoproject.com/en/dev/releases/1.10/#runserver-output-goes-through-logging

总结

以上是编程之家为你收集整理的将django.request记录到文件而不是控制台全部内容,希望文章能够帮你解决将django.request记录到文件而不是控制台所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶