当客户端不是 Web 浏览器时捕获 Django 错误?

发布于 2024-10-17 20:55:25 字数 241 浏览 1 评论 0原文

我正在构建一个从应用程序调用的 Django Web 服务。当它抛出异常时,我看不到 Django 调试页面,也无法访问它,因为调用应用程序的行为不像 Web 浏览器(而且我无法控制该应用程序)。

有没有办法将 Django 错误页面重定向到日志文件而不是调用客户端,可能通过更改 FastCGI 配置(我正在使用 lighty + FastCGI)?或者可能是框架本身内的“转储到文件”配置选项或某种 LogExceptionToFile() 方法?

I'm building a Django web service that is called from an application. When it throws an exception, I can't see the Django debug page, and can't get to it because the calling application doesn't behave like a web browser (and I don't have control over that application).

Is there a way to redirect the Django error page to a a log file rather than to the calling client, possibly via changing the FastCGI config (I'm using lighty + FastCGI)? Or maybe a "dump to file" config option or some sort of LogExceptionToFile() method within the framework itself?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦境 2024-10-24 20:55:25

您可以尝试仅创建自定义 ExceptionMiddleware。只需更改 process_exception 方法即可记录异常并在某处请求数据。

这是一个示例: http://www.peterbe .com/plog/who-was-logged-in-during-a-django-exception

You might try just creating custom ExceptionMiddleware. Just change the process_exception method to log the exception and request data somewhere.

Here's an example: http://www.peterbe.com/plog/who-was-logged-in-during-a-django-exception

桜花祭 2024-10-24 20:55:25

如果django应用程序中的异常没有被捕获,并且DEBUG = True,那么异常应该被发送到客户端。

一些帮助您获取调试信息的选项:

If the exception in the django app is not caught, and DEBUG = True, then the exception should be sent to the client.

Some options to help you get debugging info:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文