跳转到主要内容

客户端JavaScript错误挂钩的通用处理程序。

项目描述

安装

要运行测试的演示项目

$ git clone git://github.com/jojax/django-js-error-hook.git
$ cd django-js-error-hook
$ virtualenv env --python=python3
$ source env/bin/activate
(env) $ pip install -e .
(env) $ pip install -e demo
(env) $ demo migrate

运行服务器

(env) $ demo runserver

然后访问:http://localhost:8000/ - JavaScript错误将在您的控制台中记录。

要将项目安装到生产环境中

$ pip install django-js-error-hook

将 django-js-error-hook 添加到您的 INSTALLED_APPS 设置中

INSTALLED_APPS = (
    ...
    'django.contrib.staticfiles',
    'django_js_error_hook',
    ...
)

如果您想将错误记录到控制台以进行开发

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'filters': {
        'require_debug_false': {
            '()': 'django.utils.log.RequireDebugFalse'
        }
    },
    'formatters': {
        'verbose': {
            'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
        },
        'simple': {
            'format': '\033[22;32m%(levelname)s\033[0;0m %(message)s'
        },
    },
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'filters': ['require_debug_false'],
            'class': 'django.utils.log.AdminEmailHandler'
        },
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatter': 'simple'
            },
    },
    'loggers': {
        'django.request': {
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': True,
        },
        'javascript_error': {
            'handlers': ['mail_admins', 'console'],
            'level': 'ERROR',
            'propagate': True,
        },
    }
}

默认情况下,记录器名为“javascript_error”,如果您想的话,可以在您的设置中定义 JAVASCRIPT_ERROR_ID

JAVASCRIPT_ERROR_ID = '<your logger name>'

视图将执行 csrf 验证 - 如果由于某种原因它不起作用,请在您的设置中将 JAVASCRIPT_ERROR_CSRF_EXEMPT 设置为 True

然后安装 URL

urlpatterns = patterns('',
    ...
    url(r'^js_error_hook/', include('django_js_error_hook.urls')),
    ...
)

在您的模板中,只需添加 js_error_hook 脚本

<script type="text/javascript">
    window.djangoJSErrorHandlerUrl = "{% url 'js-error-handler' %}"
</script>
<script type="text/javascript" src="{% static 'js/django_js_error_hook.js' %}"></script>

现在,每个JavaScript错误都将记录到您的错误记录流中。(邮件、Sentry、…)

祝您玩得开心,随时fork我们并提供反馈!

开发

在为该应用程序编写时,您可以运行 tox,该工具将对Python和Django的各个版本进行项目测试。

pip install tox tox

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包的信息

源代码分发

django-js-error-hook-1.0.tar.gz (6.9 kB 查看散列)

上传日期 源代码

构建分发

django_js_error_hook-1.0-py3-none-any.whl (7.2 kB 查看散列)

上传日期 Python 3

由以下支持