为django提供更好的错误日志记录的库

django-better500s的Python项目详细描述


概述
==


django-better500s是一个可以使500个错误变得更加用户友好和开发人员友好的库。它会记录完整的错误
回溯(好像它处于调试模式),以及用户对他们试图做什么的
描述。

拉取请求非常受欢迎!



用法
=


` pip安装django-better500s`

2.编辑“settings.py:`

``
已安装的应用程序+=(“better500s”,)

最后“
对于更好的500s应该可以很好地工作。
中间件类+=(“better500s.middleware.better500s”,)

“better戋500”)
better戋500戋from戋u email=“foo@example.com”
better戋500戋to戋u email=[“bar@example.com”,]
better戋500戋u uncaught dir=“uncaught logs”

````

4.添加url:

```
url patterns+=模式(''',
url(r'better500s/',include('better500s.urls',namespace=“better500s”,app懔name='better500s'),

````

5。享受更好的错误报告。





*`better_500_from_email`-发送通知的电子邮件。
默认为'settings.default_from_email'。

*“Better_500_to_emails”—应向其发送通知的电子邮件集。
默认为“settings.admins”。

*“Better_500_uncaught_dir”—存储500处理页崩溃或用户浏览器崩溃的日志跟踪的位置。
默认为“uncaught”。

*`Better_500_ajax_url`-用于ajax回调的url,用于保存日志并发送电子邮件。
默认为“Better-500-Callback/”。

*`better-500-post-url`-用于用户崩溃报告发布的URL。
默认为`“better-500-saved/”`。

*`better_500_default_return_url_name`-“回家”按钮应链接到的url名称。如果没有,则按钮隐藏。
默认为“无”。



工作原理:
===


1。捕捉到500个错误(仅限)。
2.生成完整的调试页回溯,并保存到“uncaught”目录。
3。“我们很抱歉/告诉我们你在做什么”页面加载。
4.加载时,该页面ajax将ping服务器。
5.在ping上,视图将日志归档到一个日期组织的文件夹中,并通过一个链接向“to-u emails”发送电子邮件。
6。如果用户提交报告,则该报告将保存到数据库中,并与日志文件绑定。第二封电子邮件将与用户报告一起发送。
7.管理员可以单击“查看”链接,查看完整的回溯和用户报告。




Templates and Customization
======




*`feedback_saved.html`-如果用户提交报告,则此页就是他们看到的。指向生成错误的页面的链接,也可以选择指向主页。

*`view_error.html`-用于查看捕获的500s的开发人员端模板

*`admin_email.txt`-用于500个错误电子邮件的模板。

*`error_with_notes_email.txt`-用于用户错误报告电子邮件的模板。



django-better500s使用“default_backend”存储
错误日志。如果失败,它将退回本地文件存储。



credits
==
django-better500s是由steven skoczen为aquameta编写的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Hibernate:合并并删除,而不是从数据库中删除实体对象   java如何在WebFilter中有条件地从Mono返回?   java调用mysql c3p0函数   可执行jar Java jar文件加载错误:无法找到或加载主类。类导致的错误:java。lang.ClassNotFoundException:某些东西。班   java如何减少/更改爬网后的延迟?   从其他语言(如Java、PHP、Perl、Python等)调用C/C++代码的最佳方式是什么?   java如何模拟影响对象的void返回方法   当我试图在ubuntu上启动JavaScala时,它抛出了一个异常   java如何正确输出游戏   理解java和C++背景下的JavaScript原型   oracle如何将Java函数转换为postgresql函数   多线程为什么我的java服务器程序在超时后不退出?   java如何使listView中的按钮在单击时工作?   试图将这个嵌套的java forloop转换为python,但我不知道如何转换。有没有一种方法可以像这样为循环执行if语句?   java幂函数在计算器中的应用   如何在java中滚动浏览mysql数据库   在Spring Boot应用程序的JUnit测试中,java没有符合自动连线JPA存储库要求的bean   java如何使用扩展类的JPanel对象?