概述
即使在阅读了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记录到文件而不是控制台所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧