如何让Django将调试信息打印到控制台?

我使用urlib打我的应用程序而不是浏览器,所以发生错误时我看不到调试屏幕。将常规调试信息发送到控制台或文件的最佳方法是什么?

编辑:我已经捕获了页面的输出,但是当我将其打印到屏幕上时,它充满了无用的html吨。我可以得到错误吗?

回答:

我建议使用以下使用内置日志记录系统的方法之一。

以类似的方式将异常通过管道传递到管理员电子邮件处理程序,你可以将数据发送到控制台记录器,文件记录器或其他任何地方(仅此邮件,或者除电子邮件处理程序之外)。

好吧,最简单的方法是将调试模式设置为OFF,然后让django通过电子邮件将错误信息发送给你,因为这实际上需要5秒钟:http : //docs.djangoproject.com/en/dev/howto/error-reporting/

否则,我会编写一个记录异常的中间件,但是如果你想要堆栈跟踪,那会有些麻烦。这是文档。

import traceback

import sys

from __future__ import print_function

class ProcessExceptionMiddleware(object):

def process_exception(self, request, exception):

# Just print the exception object to stdout

print(exception)

# Print the familiar Python-style traceback to stderr

traceback.print_exc()

# Write the traceback to a file or similar

myfile.write(''.join(traceback.format_exception(*sys.exc_info())))

以上是 如何让Django将调试信息打印到控制台? 的全部内容, 来源链接: utcz.com/qa/434821.html

回到顶部