我使用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占位符?
我正在尝试将有效负载数据添加到发送到 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 配置为从 Django+Celery 应用程序捕获所有错误。它工作正常,但我发现一个令人讨厌的用例是当我必须重新启动我的 Celery 工作器、PostgreSQL 数据库或消息服务器时,这会导致成千上万种“无法访问数据库/消息服务器”错误。这会污染哨兵报告,有时甚至超过我的活动配额。
他们的文档提到了一个“ignore_exceptions”参数,但我没有在他们旧的弃用客户端中使用它,也不建议将其用于新项目。您将如何在新 API 中执行此操作?
我正在使用 Azure 管道通过其 GitHub 集成来构建和发布我的软件。作为监控的一部分,我使用 Sentry 来记录异常等。
我想使用 Sentry 的“可疑提交”功能(因此它可以指向可能导致特定问题的提交)。为此,我需要向 Sentry 发送一个发布(只是与特定项目相关联的版本),其中包含与之相关的相关提交列表。
我读过这篇文章:
Sentry 中的 Azure DevOps 集成:关联提交
GitHub 上的这个:
https://github.com/getsentry/sentry/issues/11127
虽然两者都有(非常不同的)获取提交列表的方法,但他们假设一个正在使用 Azure DevOps 存储库功能。我的 DevOps 实例上没有存储库,因此,尽管帖子很有用,但它们并没有真正直接帮助我。
简而言之 - 我需要在 GitHub 上列出与 Azure DevOps 上的特定版本相关联的所有提交,以便我可以将它们发送到 Sentry API。
有没有人做过这个?我怎样才能做到这一点?我错过了一些明显的东西吗?
我的哨兵设置如下:
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。
我正在努力使用 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) 我在 ios - safari 14.0 中的 react 项目中反复从Sentry收到此错误。
没有代码跟踪,也没有其他信息,但它几乎在每个 URL 中重复。
我已经到处寻找选项。我试过调试但我无法复制它,所以我无法解决它。
有谁知道这个错误是什么意思?或者如何在 Sentry 中添加调试信息?
我一直在寻找解决方案,但无法得到它。我知道提供的信息有点缺乏,但这就是我问这个的原因。如果有人能告诉我如何处理哨兵错误,如果您不知道为什么它会如此频繁地重复,那将非常有帮助。
我是 Sentry 的新手,我想手动记录错误。
由于某种原因,我无法在他们的文档中找到我如何实现这一目标
我正在使用 RN 项目,但从他们的文档来看,RN 扩展了 JS sdk
考虑一个像这样简单的函数
const logErrorIntentionally = () => {
try {
} catch (error) {
//throw sentry error here
}
}
Run Code Online (Sandbox Code Playgroud)
如何记录哨兵中抛出的错误?从我的捕获块。
我在我们的哨兵日志中收到错误“错误:不是窗口”。此错误仅发生在使用 Instagram 浏览器的用户身上。
在哨兵中,它说异常的“函数”是“setTimeout”和“addEventListener”。
据我所知,哨兵跟踪并没有真正提供任何其他有用的信息。我什至不确定用户是否注意到这个问题/它是否影响他们,因为我无法在我的设备上重现它,即使使用 Instagram 浏览器和相同的操作系统。
任何关于 Instagram 浏览器及其行为的知识都会很棒,我们过去在浏览器中的弹出窗口中也遇到了一些问题。
谢谢!!!
这是给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)
我期待它有效,我可以追踪错误。