标签: sentry

Spring 中的哨兵登录

我使用 Sentry(本地)进行日志记录。最近我开始转向 Spring 框架,我无法获取命中 Sentry 服务器的日志。我尝试使用log4jlogger (slf4j)。在这两种情况下,我都无法取得任何进展。我的假设是,由于我使用spring-starterMaven 依赖项,因此它logger默认包含在内,而有关 Sentry + Java 的所有文档都提到使用raven. 可能我的日志配置因此而未被读取。谁能告诉我如何让哨兵参与我的 Spring 项目?

编辑:这是我的logback.xml,位于类路径中。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="Sentry" class="net.kencochrane.raven.logback.SentryAppender">
        <dsn>
            http://xxx@example.com/sentry/2
        </dsn>
    </appender>

    <root level="error">
        <appender-ref ref="Sentry" />
    </root>
</configuration>
Run Code Online (Sandbox Code Playgroud)

spring sentry raven

5
推荐指数
0
解决办法
2967
查看次数

Sentry 对象表示在完整视图中被截断

我们在 python 代码中使用哨兵。我们遇到了一个奇怪的问题,当我们尝试在哨兵中检查对象时,对象的表示被截断。例如,当用户进入“异常”视图并选择“完整”时,他们可以在堆栈跟踪中导航。在堆栈跟踪的每个段中,哨兵都会打印出对象的__repr__. 不幸的是,它似乎截断了较长的表示。这对我们来说是一个很大的问题。

对于那些好奇的人,我们已经尝试将我们设置string_max_length为 10,000,但它似乎对这些表示没有影响(尽管 captureMessage 现在发送更长的字符串)。

python logging truncate exception sentry

5
推荐指数
0
解决办法
809
查看次数

如何在 AWS CloudWatch 中记录 JavaScript 客户端堆栈跟踪

如果能够将 AWS 上的日志记录与我们的服务器日志合并起来,那就太好了 - 奇怪的是,我并没有看到太多关于使用 CloudWatch 记录客户端错误的话题。

\n

amazon-web-services sentry amazon-cloudwatch

5
推荐指数
0
解决办法
314
查看次数

如何将 Crashlytics 与 Sentry 集成?

您能帮助我们集成这些出色的工具吗?我们的 React Native iOS 项目已经使用 Crashlytics 几个月了,它在本机崩溃的情况下运行良好,但在JS 异常的情况下,它需要对反应本机日志进行一些自定义(这篇 Medium 文章帮助我们达到了详细的 JS 输出,如可能的)。最终我们没有得到我们想要的那么好的 JS 错误输出。

因此我们决定也集成 Sentry。它成功完成了,但似乎 Sentry超过了Crashlytics 捕获崩溃的速度:我们可以在 Sentry 仪表板中看到崩溃,但在 Crashlytics 仪表板中看不到。

我的问题是:是否可以针对本机崩溃和 JS 异常这两种情况集成 Crashlytics 和 Sentry ?

先感谢您。

UPD 06.03.2019 最后,我们只使用 Sentry,原因如下:

  1. 首先,它不需要任何特殊代码来实现 JS 事件和错误格式良好的输出,而 Crashlytics 则需要;
  2. 其次,它不需要对通过 Testflight 发布(并且可能加密)的 dSym 文件进行任何操作;
  3. 第三,它还捕获本机崩溃并提供详细输出。

sentry crashlytics react-native react-native-ios react-native-sentry

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

Sentry 与 @sentry/webpack-plugin 和 heroku

我正在使用 webpack 来构建我的应用程序,它在本地与@sentry/webpack-plugin\xe2\x80\x93 一起工作,它会自动生成版本并将源映射上传到 Sentry。

\n\n

但是,如果我尝试在 Heroku 上构建相同的应用程序,则会出现以下错误:

\n\n
Error: Command failed: /tmp/build_e3ae44a78c063d6493d3fdfc983bd8d6/client/node_modules/@sentry/cli/sentry-cli releases propose-version\n  INFO    2019-04-16 13:33:13.141611957 +00:00 Loaded config from /tmp/build_e3ae44a78c063d6493d3fdfc983bd8d6/client/.sentryclirc\n  DEBUG   2019-04-16 13:33:13.141666891 +00:00 sentry-cli version: 1.41.0, platform: "linux", architecture: "x86_64"\n  INFO    2019-04-16 13:33:13.141684793 +00:00 sentry-cli was invoked with the following command line: "/tmp/build_e3ae44a78c063d6493d3fdfc983bd8d6/client/node_modules/@sentry/cli/sentry-cli" "releases" "propose-version"\n  DEBUG   2019-04-16 13:33:13.141916192 +00:00 error: running update nagger\n  DEBUG   2019-04-16 13:33:13.141939514 +00:00 skipping update nagger because session is not attended\nerror: Could not automatically determine release name\n  DEBUG   2019-04-16 …
Run Code Online (Sandbox Code Playgroud)

heroku sentry webpack

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

如何使用 Sentry 优雅地处理错误峰值?

在我们的项目中我们使用Sentry来报告错误。这工作得很好,但是在负载很大的系统上,当第三方系统宕机时,我们有时会看到错误高峰。例如,如果数据库无法访问,在问题解决之前我们可能会收到几万个调用,所有这些都会导致向 Sentry 报告错误。

我知道Sentry客户端有一个通用的设置sample.rate。这允许仅将所有事件的一定百分比发送到 Sentry。但是,我只是想避免在第三方系统出现故障时出现大量重复的错误报告。我不想限制一般发送的错误数量。有没有办法配置 Sentry 客户端,以便在出现峰值时仅发送一些样本,否则发送所有错误报告?

java sentry

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

如何在离线时使用 Sentry 记录错误?

所以我的应用程序应该可以离线和在线工作。那么,当用户离线时,如何在我的 Sentry 仪表板中收到错误消息呢?

javascript node.js sentry

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

如何告诉 SentryWebpackPlugin 我的源映射的名称?

1) 我的网页代码是用 TypeScript 编写的,我使用 WebPack 将其捆绑到最终用户的“main.min.js”文件中。(非常标准的东西。)

2) 我想利用Sentry.io服务自动向云端报告错误,因此我安装了该@sentry/browser包并在我的 TypeScript 代码库中对其进行了初始化。到目前为止一切顺利 - 我的网页成功向 Sentry 报告错误。

3) 然而,报告的错误不包含真实的行号,例如源映射。为了解决这个问题,Sentry 文档说您需要使用SentryWebpackPlugin. 所以,我已经安装了它,并将我的 WebPack 配置更改为以下内容:

import SentryWebpackPlugin from '@sentry/webpack-plugin';
import * as path from 'path';
import * as webpack from 'webpack';

// Constants
const epoch = new Date().getTime();

const config: webpack.Configuration = {
    // The entry file to bundle
    entry: path.join(__dirname, 'src', 'main.ts'),

    // Where to put the bundled file
    output: {
        path: __dirname, // By default, …
Run Code Online (Sandbox Code Playgroud)

sentry typescript webpack

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

Sentry 源地图 - 故障排除

我正在尝试让源映射与 Sentry 一起用于 ReactJS 应用程序。我将 webpack 与 SentryWebpackPlugin 结合使用。webpack config 中的相关配置如下所示:

const SentryWebpackPlugin = require('@sentry/webpack-plugin');

const SentryOptions = {
  // sentry-cli configuration
  authToken: process.env.SENTRY_AUTH_TOKEN,
  project: process.env.SENTRY_PROJECT,

  // webpack specific configuration
  include: pathLibrary.resolve(__dirname, '..')
};

module.exports = {
  devtool: 'hidden-source-map',
  output: {
    filename: '[name].[contenthash].js',
    chunkFilename: '[name].[contenthash].js',
    publicPath: '',
    path: pathLibrary.resolve(__dirname, '..', 'public'),
    sourceMapFilename: '../tmp/sourcemaps/[file].map'
  }
}

if (DEPLOY_ENVS.includes(env)) {
  module.exports.plugins.push(new SentryWebpackPlugin(SentryOptions));
}
Run Code Online (Sandbox Code Playgroud)

当我构建和部署应用程序时,我确实可以在 Sentry 中看到源映射和源代码,但是问题页面上显示的代码似乎不可读。这让我相信我在命名输出文件或源映射方面做了一些错误的事情。

哨兵文物表

哨兵问题页面

sentry source-maps webpack

5
推荐指数
0
解决办法
1394
查看次数

如何使用管理员密码配置自托管哨兵?

我需要用 docker 设置哨兵。这就是为什么我不想在安装过程中被要求创建用户。因此我使用以下命令来安装哨兵。

./install.sh --no-user-prompt
Run Code Online (Sandbox Code Playgroud)

在配置文件 config.example.yml 中,我还设置了以下值。不幸的是我无法登录。

system.secret-key: 'somesupersecretkey'
system.admin-email: 'somemail@adress.com'
Run Code Online (Sandbox Code Playgroud)

我必须如何更改配置文件才能设置用户。那么 system.secrey-key 到底有什么用呢?

sentry

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