问题标签 [raven]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
952 浏览

python - Raven 的 SentryHandler 正在抑制 StreamHandler 输出到文件

我有一个普通的 python (non-Django) 项目,我试图将 Raven 绑定到 logging setup中。

在我们当前的设置下,我们使用一个简单的日志配置:

然后将输出重定向到日志文件;这会产生一个很好的、详细的日志,我们可以在需要时查看它。

我们现在要添加 Raven 的错误日志记录,将其绑定到我们当前的日志记录设置中,这样logging.error调用也会导致将消息发送到 Sentry 服务器。使用以下代码:

错误已成功发送到 Sentry,但我现在只得到一行文件输出:

所有其他文件输出——从logging.debuglogging.error——被抑制。

如果我评论该setup_logging行,我会得到文件输出但没有哨兵错误。我究竟做错了什么?

0 投票
1 回答
424 浏览

sentry - Raven-js 错误没有在哨兵中获取“站点”属性,而 python raven 错误是?

我有三个 python 客户端和一个连接到单个哨兵服务器的 javascript 客户端(所有 raven)。我site为每个客户准备了一套独特的产品。但是,虽然三个 python 客户端生成的错误已site在哨兵界面中正确设置,但 javascript 客户端生成的错误没有site设置。

我的 raven-js 设置(请原谅我的 Django):

我对哨兵代码做了一些挖掘(使用高度科学的 scatter-some-logging-statements-around 方法),我确信“site”参数确实被发送到哨兵 API,但由于某种原因,它在那里和创建实际事件组之间迷路了。

0 投票
1 回答
1063 浏览

python - Raven/Sentry 日志记录本身导致最大递归深度达到错误

我已经使用以下日志配置在 Django 1.4 上配置了 Raven 2.0.2:

记录“django”记录器效果很好。对于根级别记录器,如果我尝试记录错误级别的消息,它会通过。但是,当我尝试记录 INFO 级别消息时,我收到以下错误:

我究竟做错了什么?

0 投票
1 回答
1158 浏览

celery - 带有 gevent 池的芹菜工人 + Sentry 记录器 = 挂起

我将 Celery 与 Django 集成一起使用。我发现对当前项目的新提交存在一些问题:带有 gevent 池的 Celery worker 拒绝处理新任务。经过短暂的调查,我发现'sentry'日志处理程序导致了一个问题:settings.py:

使用 'handlers': ['console'] 一切正常,但是当我添加 'sentry' 处理程序 celer+gevent 工作人员开始表现如下:从代理获取 N 个任务,其中 N 是并发级别,然后停止。

我用这个命令运行 celery worker:

注意:deathlock 显示并发 >= 3

我使用 RabbitMQ 作为代理,使用 redis 作为结果后端

谢谢你。

PS 同步芹菜工人在任何配置下都能正常工作

0 投票
0 回答
485 浏览

python - 无法将 celery 任务中的日志消息发送到 Sentry

我在从 celery 任务中登录到 Sentry 时遇到问题。任务中的错误可以正常工作。但是,当我尝试手动记录事件时,它会记录到 celery 日志中,而不是哨兵服务器。

我正在使用的代码是:

我在这里和网上找到了一些关于此的帖子,但它们似乎都已经过时了

0 投票
1 回答
863 浏览

django - Sentry 的托管服务getsentry.com 中的事件参考ID 在哪里?

在我的 Django 应用程序的自定义 500 处理程序中,我可以使用模板代码显示 Sentry 事件的参考 ID {{ request.sentry.id }}—— 但是我在哪里可以看到在 getsentry.com 报告界面中列出的这个 ID?我只能看到事件的时间码以及事件详细信息和堆栈跟踪等,没有参考 ID。

注意:我通过 Heroku 插件使用免费的 Sentry 层。它是 Sentry 版本 6.0.0。

0 投票
2 回答
716 浏览

python - 同一个 qualname 的两个 Pylons 记录器处理程序(Sentry/Raven 和控制台)

我有一个 Pylons/TurboGears 应用程序。我想记录相同的记录器(由qualname属性指定)以使用两个不同的日志处理程序,每个处理程序都有自己的日志级别。

Sentry / Raven 记录器应该只接收 WARN+ 级别的 SQLAlchemy 消息,而控制台记录器应该接收 INFO+ 级别的 SQLAlchemy 消息。

这是我的缩写 ini 文件:

然而,logger_sqlalchemy_sentry似乎覆盖logger_sqlalchemy_console并窃取了它的信息。无论 ini 文件中记录器的顺序如何,都会发生这种情况。

是否可以使用 Pylons 将相同的 logger/qualname 记录到具有不同级别的多个位置?

如果是这样,Sentry/Raven 是否有可能成为这些记录器之一?我的 ini 文件有问题,还是 Raven 有错误?

0 投票
1 回答
2078 浏览

python - 如何向 Sentry 报告当前登录的用户?

我在面向用户的 Python/Pyramid webapp 上使用 Sentry (Raven 3.4.1)。Sentry 似乎有能力跟踪哪些用户以及有多少用户遇到了某种异常。(例如,参见Sentry 6.2.0 变更日志,其中提到:“已记录用户数据的流现在将显示事件发生的唯一用户数。”)我如何将此信息提供给 Raven,以便它显示在哨兵?

如果我手动将异常传递给 Raven,我只能这样做吗?现在,我正在使用SentryHandler附加到根记录器的日志处理程序,以及egg:raven#ravenPasteDeploy 管道中的过滤器。(密切关注Pyramid的官方Raven 配置文档。)

通常将这些信息传递给 Raven 有什么好的技巧吗?我是否可以在我的堆栈底部某处设置一个具有特定名称的局部变量,一旦我加载了用户的会话,Raven 会自动拾取它?这里的最佳做法是什么?

我怀疑与我正在尝试做的事情有关,但我在 Raven 文档中找不到任何关于它的信息。

0 投票
1 回答
1183 浏览

python - Django Raven 非常慢

我正在使用 raven 和 getsentry 在 django 中记录消息,但记录似乎延迟了代码的执行。例如:

给出输出:

即,在这种情况下,它会将代码的执行延迟 600 毫秒。这是可以预料的吗?我原以为消息会在单独的线程中异步发送,因此主代码不会延迟。此外,我对 app.getsentry.com 的 ping 时间为 125 毫秒,因此即使消息是同步发送的,600 毫秒仍然显得异常大。我可以更改一些配置以使事情变得更快吗?

设置文件:

=== 编辑 ===

感谢 Filip Dupanović 指出 threading+ 协议。可悲的是,由于在引导工人时复制了线程,它们在 gunicorn 中没有为我工作。我通过在 gunicorn 配置文件中添加一个 post_fork 钩子来修复它,如下所示:

Obv 这是一个 hack,虽然它对我有用,但我不知道它是否适用于其他任何地方。

0 投票
3 回答
1734 浏览

twisted - 推荐的 Twisted Sentry/Raven 集成是什么?

raven 有很多集成,包括 python 日志记录。一方面,twisted 不使用 python 的日志记录。而另一方面,raven 在twisted 中并没有直接的整合。

那么,在基于扭曲的设置中使用 raven 的当前最佳实践是什么?