1

我在 Django 1.11.9 应用程序(Python 2.7)中使用 Rollbar,我试图将其配置为忽略 404 异常,但没有成功。

我已经检查了 Python 的 Rollbar 文档,并注意到我已经在使用'exception_level_filters': [(Http404, 'ignored')]根本不起作用的配置。所以首先我认为我正在使用的库引发了一种不同类型的异常(Django REST Framework)并试图在 中添加它的NotFound异常exception_level_filters,但是(1)它不起作用并且(2)404 异常没有被忽略对于不使用这个库的模块。所以我检查了我的视图,发现有一个自定义视图处理 404 错误,它只是使用 Django 日志记录方法在调试级别记录请求路径。我尝试通过使用级别调试从记录器处理程序中删除 Rollbar 来编辑日志记录设置,甚至删除了自定义视图中的日志记录,但是我仍然收到 Rollbars 的 404 错误。

我也尝试过使用 Rollbar 配置ignorable_404_urls,其值re.compile('.*')希望它会忽略所有 URL,但效果不佳。

有没有人能够在 Django 应用程序中正确地做到这一点和/或看到我犯的任何错误?提前致谢!

编辑:pyrollbar 版本:0.14.0

4

2 回答 2

1

文档:

此外,您可以使用键“ignorable_404_urls”设置可迭代的正则表达式模式,用于根据请求的完整 url 路径确定是否应忽略 404 异常。例如,

import re
ROLLBAR = {
    'access_token': 'POST_SERVER_ITEM_ACCESS_TOKEN',
    'environment': 'development' if DEBUG else 'production',
    'branch': 'master',
    'root': '/absolute/path/to/code/root',
    'ignorable_404_urls': (
        re.compile('/index\.php'),
        re.compile('/foobar'),
    ),
}
于 2020-06-16T05:44:16.453 回答
1

问题是 Django 日志记录模块将 404 错误转发到具有警告级别的 Rollbar。要修复它,我必须将以下配置添加到我的日志记录设置(loggers键)中:

'django.request': {
    'handlers': ['console', 'rollbar'],
    'level': 'ERROR',
    'propagate': False,
},
于 2020-02-21T14:04:10.487 回答