空气制动器抛出错误“pybrake错误strconv.ParseInt:正在分析“None”:无效语法

2024-06-02 17:50:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试按照https://github.com/airbrake/pybrake#django-integration中描述的步骤在Django项目中使用Airbrake记录器。在

我将LOGGING设置配置为:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'airbrake': {
            'level': 'ERROR',
            'class': 'pybrake.LoggingHandler',
        }
    },
    'loggers': {
        'lucy_web': {
            'handlers': ['airbrake'],
            'level': 'ERROR',
            'propagate': True,
        }
    }
}

然后,在lucy_web层次结构中名为lucy_web/lib/session_recommendation.py的特定文件中,我有以下测试函数:

^{pr2}$

但是,如果我试图从Django shell调用此函数,pybrake本身会记录一个错误:

strconv.ParseInt: parsing "None": invalid syntax

以下是命令的完整序列:

^{3}$

https://golang.org/pkg/strconv/#ParseInt看来,strconv.ParseInt实际上是Go语言的一个内置函数,所以我不明白为什么{}(Python包)抛出这个错误,或者如何调试它。有人能解释这个错误吗?在


Tags: django函数httpsweblogginghandlers错误airbrake
1条回答
网友
1楼 · 发布于 2024-06-02 17:50:54

airbrake服务器本身似乎是用Go编写的。在

这可以从以下事实推断:

  • 在他们的“关于”页面(https://airbrake.io/about)中,他们将自己的一名成员列为“首席围棋开发者”,并说他们“从1.0之前就开始使用围棋了”。在他们的首席技术官的描述中,他们说他喜欢“用围棋入侵他的家”。

  • 您将从Python得到一个strconv.ParseInt(Go)错误

  • 有一个报告称,使用Ruby客户端报告airbrake错误(https://github.com/airbrake/airbrake/issues/502)也会得到strconv.ParseInt

因此,对于这个错误的解释是,Python客户机在发送报告并将其记录下来时,会从服务器获取此错误。在

至于如何调试,我认为最好的方法是捕获客户机发送到服务器的请求。在

例如,您可以通过修改此处的代码来指向您自己的服务器而不是airbrake的服务器并记录请求:

https://github.com/airbrake/pybrake/blob/master/pybrake/notifier.py#L41

或者以某种方式捕获HTTP流量。在

您可能会看到一个JSON/XML/HTTP表单数据,其中将有一个“None”值附加到一个应该是数字的属性上,这将在服务器端引发此错误。在

相关问题 更多 >