标签: sentry

在 Sentry 中对“.format()”样式的日志消息进行分组

我使用SentryHandlerfromraven.handlers.logging来跟踪 Sentry 中任何更高级别的日志。我的日志消息是使用 动态填充的自定义内容.format(),因此文本消息本身不一定始终具有相同的内容。例如:

import logging
from raven.handlers.logging import SentryHandler
from raven.conf import setup_logging

# Create a "basic" logger
logger = logging.getLogger("root")

# Create a Sentry logger handler
sh = SentryHandler("https://******@sentry.io/******")
sh.setLevel(logging.WARNING)
setup_logging(sh)

# Send the desired message to Sentry via logger
if SomeInteresetingWarning():
    logger.warning("{} missing files in {} directiories!".format(num_files,num_dirs))
Run Code Online (Sandbox Code Playgroud)

一切都很好,只是这会导致每条独特的消息都被视为独特的警告,这当然不是真的。

GitHub 上有一个很好的QA涵盖了这个问题,但那里提供的解决方案仅适用于使用老式风格 格式化的字符串%s

有谁知道如何实现正确的 Sentry 消息分组(聚合),而不必重新设计字符串格式从format()%s占位符?

python format logging sentry

6
推荐指数
1
解决办法
1349
查看次数

通过 POST/PUT/PATCH 请求将有效负载数据发送到 Sentry.io

我正在尝试将有效负载数据添加到发送到 Sentry.io 的面包屑中。

看起来就是这样。

在此输入图像描述

我找到了如何添加回复。

const sentryConfig: BrowserOptions = {
  beforeBreadcrumb: (breadcrumb, hint) => {
    if (breadcrumb.category === 'xhr') {
      // hint.xhr is a whole XHR object that you can use to modify breadcrumb
      breadcrumb.data = (hint.xhr as XMLHttpRequest).response;
    }

    return breadcrumb;
  }
};
Run Code Online (Sandbox Code Playgroud)

但我似乎找不到添加有效负载的方法。XMLHttpRequest没有这个信息。

sentry angular

6
推荐指数
1
解决办法
1995
查看次数

如何忽略 Sentry 捕获中的某些 Python 错误

我已将 Sentry 配置为从 Django+Celery 应用程序捕获所有错误。它工作正常,但我发现一个令人讨厌的用例是当我必须重新启动我的 Celery 工作器、PostgreSQL 数据库或消息服务器时,这会导致成千上万种“无法访问数据库/消息服务器”错误。这会污染哨兵报告,有时甚至超过我的活动配额。

他们的文档提到了一个“ignore_exceptions”参数,但我没有在他们旧的弃用客户端中使用它,也不建议将其用于新项目。您将如何在新 API 中执行此操作?

python django celery sentry

6
推荐指数
2
解决办法
3193
查看次数

使用 Azure DevOps,从 GitHub 获取提交列表,以便作为发布的一部分传递给 Sentry?

我正在使用 Azure 管道通过其 GitHub 集成来构建和发布我的软件。作为监控的一部分,我使用 Sentry 来记录异常等。

我想使用 Sentry 的“可疑提交”功能(因此它可以指向可能导致特定问题的提交)。为此,我需要向 Sentry 发送一个发布(只是与特定项目相关联的版本),其中包含与之相关的相关提交列表。

我读过这篇文章:

Sentry 中的 Azure DevOps 集成:关联提交

GitHub 上的这个:

https://github.com/getsentry/sentry/issues/11127

虽然两者都有(非常不同的)获取提交列表的方法,但他们假设一个正在使用 Azure DevOps 存储库功能。我的 DevOps 实例上没有存储库,因此,尽管帖子很有用,但它们并没有真正直接帮助我。

简而言之 - 我需要在 GitHub 上列出与 Azure DevOps 上的特定版本相关联的所有提交,以便我可以将它们发送到 Sentry API。

有没有人做过这个?我怎样才能做到这一点?我错过了一些明显的东西吗?

github git-commit sentry azure-pipelines

6
推荐指数
1
解决办法
647
查看次数

Sentry 未在 Flutter 内报告错误

我的哨兵设置如下:

void main() => runZonedGuarded(() {
  runApp(MyApp());
}, (Object error, StackTrace stackTrace) {
  reportError(error, stackTrace);
});
Run Code Online (Sandbox Code Playgroud)

及相关功能

final SentryClient sentry = new SentryClient(dsn: '<my-dsn>');


Future<void> reportError(dynamic error, dynamic stackTrace) async {
  sentry.captureException(
    exception: error,
    stackTrace: stackTrace,
  );
}
Run Code Online (Sandbox Code Playgroud)

throw Exception("my-error")在小部件的构建方法中添加了内容,但我看不到 Sentry Web 控制台上显示的错误。

我创建了一个文件来引发异常和哨兵捕获,并且我确实看到哨兵正在报告错误。

肯定有什么问题runZonedGuarded

sentry flutter

6
推荐指数
1
解决办法
3665
查看次数

Supertest 在 Node 中进行 Jest 测试时给出 MaxListenersExceedingWarning 错误

我正在努力使用 Jest 和 Supertest 以及我的 Node Express 应用程序来设置一些测试。

我还使用 Sentry 来报告我的错误。我的 app.js 文件中有以下几行代码来设置 Sentry:

应用程序.js

Sentry.init({ environment: "development", dsn: "..." });
app.use(Sentry.Handlers.requestHandler());
...
app.use(Sentry.Handlers.errorHandler());
Run Code Online (Sandbox Code Playgroud)

我有一个简单的测试,定向到主页并期望 200 状态代码。

home.test.js

const app = require("../src/app");
const request = require("supertest")(app);

describe("homepage", () => {
    it("welcomes the user", async () => {
        await request.get("/").expect(200);
    });
});
Run Code Online (Sandbox Code Playgroud)

npm run test然后我在控制台中运行我的脚本。测试没有问题就通过了;但是,当测试运行多次(超过 10 次)时,我收到一条错误消息。测试将通过,但我收到以下消息。

(node:84470) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added to [ClientRequest]. Use emitter.setMaxListeners() to increase limit
(node:84470) MaxListenersExceededWarning: Possible EventEmitter memory …
Run Code Online (Sandbox Code Playgroud)

testing node.js sentry supertest jestjs

6
推荐指数
1
解决办法
1780
查看次数

哨兵错误 - IndexSizeError: 索引不在允许范围内

我在 ios - safari 14.0 中的 react 项目中反复从Sentry收到此错误。

没有代码跟踪,也没有其他信息,但它几乎在每个 URL 中重复。

我已经到处寻找选项。我试过调试但我无法复制它,所以我无法解决它。

有谁知道这个错误是什么意思?或者如何在 Sentry 中添加调试信息?

我一直在寻找解决方案,但无法得到它。我知道提供的信息有点缺乏,但这就是我问这个的原因。如果有人能告诉我如何处理哨兵错误,如果您不知道为什么它会如此频繁地重复,那将非常有帮助。

safari ios sentry reactjs

6
推荐指数
1
解决办法
379
查看次数

如何在哨兵的catch语句中记录错误

我是 Sentry 的新手,我想手动记录错误。

由于某种原因,我无法在他们的文档中找到我如何实现这一目标

我正在使用 RN 项目,但从他们的文档来看,RN 扩展了 JS sdk

考虑一个像这样简单的函数

const logErrorIntentionally = () => {
 try {
  } catch (error) {
  //throw sentry error here
  }
}
Run Code Online (Sandbox Code Playgroud)

如何记录哨兵中抛出的错误?从我的捕获块。

javascript sentry reactjs react-native react-native-sentry

6
推荐指数
1
解决办法
1万
查看次数

“错误:不是窗口”通过 Instagram 应用程序浏览器

我在我们的哨兵日志中收到错误“错误:不是窗口”。此错误仅发生在使用 Instagram 浏览器的用户身上。

在哨兵中,它说异常的“函数”是“setTimeout”和“addEventListener”。

据我所知,哨兵跟踪并没有真正提供任何其他有用的信息。我什至不确定用户是否注意到这个问题/它是否影响他们,因为我无法在我的设备上重现它,即使使用 Instagram 浏览器和相同的操作系统。

任何关于 Instagram 浏览器及其行为的知识都会很棒,我们过去在浏览器中的弹出窗口中也遇到了一些问题。

谢谢!!!

sentry instagram reactjs

6
推荐指数
0
解决办法
103
查看次数

哨兵:如何在 php 中配置哨兵?

这是给Sentry (Open-source error tracking)用户的。

我尝试了一些代码,但没有成功。我希望你能调查一下。

提前感谢大家。

我已经下载了 SDK zip 并将其上传到服务器上。好吧,我已经阅读了一些有关 autoloader 和 raven_client 的内容,但仍然没有找到 autoloder.php。

我正在使用哨兵/sdk:2.0.3

require_once 'sentry-php-master/src/Sdk.php';

Sentry\init(['dsn' => '___DSN___' ]);

throw new Exception("My first Sentry error!");
Run Code Online (Sandbox Code Playgroud)

我期待它有效,我可以追踪错误。

php sentry

5
推荐指数
1
解决办法
1113
查看次数