标签: sentry

是否有可以跟踪唯一错误的Rails库?

Rails是否有类似于Senang for Django的东西

我所追求的主要功能是自动删除异常,因此不会针对同一错误重复发送电子邮件.

以下是Sentry的屏幕截图,用于直观地解释功能:

Sentry截图

exception-handling ruby-on-rails sentry

3
推荐指数
1
解决办法
695
查看次数

Django sentry默认标签

我正在使用python-raven自动捕获我的django项目中的所有500个,并且效果很好.我还转发了一些我处理的异常,并使用特殊标记附加它们以便能够将它们过滤掉.问题是我无法过滤丢失特定标记的消息,因此我想为所有消息设置默认标记,但无法使其工作.

我尝试了以下但是它被忽略了.

RAVEN_CONFIG = {
    'dsn': 'udp://x:y@z:q/w',
    'tags': {'testtag': 'value'},
}
Run Code Online (Sandbox Code Playgroud)

有谁知道如何向哨兵发送默认标签?

python django sentry raven

3
推荐指数
1
解决办法
1166
查看次数

配置使用PHP发送到Sentry的内容

我尝试在我的非framework-php项目中设置Sentry.它就像一个魅力,但有一件事困扰着我:

代码非常不严格且容易出现问题.设想为每个用户点击发送有时50个通知哨兵似乎是一个很大的开销.(不,不幸的是,修复所有这些事情不在预算中!)

所以我的问题是:有没有办法告诉哨兵发送级别WARNING及以上的错误?

这是我的代码:

error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);
require_once 'Raven/Autoloader.php';
Raven_Autoloader::register();

$client = new Raven_Client('myurl');
$error_handler = new Raven_ErrorHandler($client);
$error_handler->registerExceptionHandler();
$error_handler->registerErrorHandler();
$error_handler->registerShutdownFunction();
Run Code Online (Sandbox Code Playgroud)

php error-reporting sentry

3
推荐指数
1
解决办法
1863
查看次数

我可以将 Luigi 管道错误路由到 Sentry 吗?

我的团队用于Sentry跟踪错误,因此我不希望使用 Luigi 的内置电子邮件功能将所有报告保存在一个地方。

这就是我目前的设置方式,它似乎完全跳过了 Sentry:

if __name__ == '__main__':
    try:
        luigi.run()
    except Exception as e:
        client = Client(
            ***
        )
        client.captureException(tags={
            sys.argv[0]
        })
        logger.critical('Error occurred: {e}'.format(e=e))
        raise
Run Code Online (Sandbox Code Playgroud)

python sentry luigi

3
推荐指数
1
解决办法
487
查看次数

如何只标记一个哨兵事件?

我想用一些指定的标签报告哨兵事件,但是我不想在以后的事件中包含这个标签。

使用以下代码,我添加了一个标签和报告事件:

Sentry.getContext().addTag("my_tag", "yes");
Sentry.capture("event happened");
Run Code Online (Sandbox Code Playgroud)

然后,过了一会儿,另一个事件发生了:

Sentry.capture("another event happened"); // tag is included, but I don't want it
Run Code Online (Sandbox Code Playgroud)

我试过删除标签,Sentry.clearContext()但它会清除所有信息,包括面包屑。

我也尝试过,Sentry.getContext().getTags().remove("my_tag");但是由于标签保留在 中UnmodifiableMap,因此此操作只会引发异常。

java sentry

3
推荐指数
1
解决办法
515
查看次数

哨兵发送通知 SystemExit: 1

在 Web 服务器上,我使用 Python3.6、带有 Gunicorn 和 Supervisor 的 Django。部署到服务器后,我开始收到来自 Sentry 的通知,如下所示:

信息

系统退出:1

哨兵日志:https : //sentry.io/share/issue/ddd8c6426d68494facfa0bdab9b01a2c/

这可能是什么原因?

django python-3.x sentry gunicorn

3
推荐指数
1
解决办法
1239
查看次数

在新的 sentry-python SDK 中,将额外的字典传递给 captureException 的等价物是什么?

将附加项传递给新的 sentry-python SDK 方法的 capture_exception 和 capture_message 的最佳方法是什么?

以前,我会: sentry_id = sentry.captureException(extra=extra)

基于文档和这个 github 问题(https://github.com/getsentry/sentry-python/issues/113),它就像以下选项之一是可比的,但我想不出办法。

使用capture_exception很接近...

except Exception as e:
    sentry_id = capture_exception(e, extra=extra) # Error
Run Code Online (Sandbox Code Playgroud)

...但不允许第二个额外的参数:(

使用python 日志记录集成非常接近......

except Exception as e:
    sentry_id = logging.error(e, exc_info=True, extra=extra)
Run Code Online (Sandbox Code Playgroud)

...但不返回哨兵ID :(

使用python 日志记录集成和 capture_exception很接近......

except Exception as e:
    logging.error(e, exc_info=True, extra=extra)
    sentry_id = capture_exception(e)
Run Code Online (Sandbox Code Playgroud)

...但在哨兵中导致两个单独的错误条目:(

使用带有 push_scope 的 capture_exception很接近...

except Exception as e:
    with push_scope() as scope:
        scope.set_extra(extra) # Error
        sentry_id …
Run Code Online (Sandbox Code Playgroud)

python flask sentry

3
推荐指数
1
解决办法
883
查看次数

flutter - 如何通过哨兵发送设备信息

我正在寻找例如如何捕获自定义键值,例如Device-ModelAndroid Version以及方法等到 sentry.io。但目前没有找到。

例如下面的代码:

 Future doWatchVideo(BuildContext context) async {

    RewardedVideoAd.instance.show().catchError((error, stackTrace) {

        sentry.capture(
            event: null,
            stackFrameFilter: null,

        )
        sentry.captureException(
          exception: error,
          stackTrace: stackTrace,
        );
    });
  }
Run Code Online (Sandbox Code Playgroud)

报告了错误和堆栈跟踪,但我不知道如何发送用户的设备信息,也不知道这个错误是在什么类和方法中触发的。

任何的想法 ?

谢谢你

error-handling try-catch sentry dart flutter

3
推荐指数
1
解决办法
962
查看次数

Sentry.io 在异步 Node.js 服务器上管理错误范围/上下文

基本上你在 Node.js 中有并发请求。并且您可能希望使用特定于每个请求的数据来丰富可能的错误。可以通过以下方式在应用程序的不同部分收集此特定于请求的数据

  • Sentry.configureScope(scope => scope.setSomeUsefulData(...))
  • Sentry.addBreadcrumb({ ... })

稍后在深度嵌套的异步函数调用中的某个地方抛出错误。Sentry 如何知道先前收集的哪些数据实际上与此特定错误相关,考虑到请求是同时处理的,并且在发生错误时无法访问某些哨兵“范围”来获取与此特定请求相关的数据,从而导致在错误中。

或者我是否必须通过所有函数调用传递哨兵作用域?喜欢

server.on('request', (requestContext) => {
  // Create new Sentry scope
  Sentry.configureScope(sentryScope => {
    Products.getProductById(id, sentryScope); // And pass it on
  });
});

// all the way down until...

function parseNumber(input, sentryScope) {
  // ...
}
Run Code Online (Sandbox Code Playgroud)

或者哨兵是否使用某种魔法将特定数据映射到相关事件?或者我错过了什么?

javascript scope asynchronous node.js sentry

3
推荐指数
1
解决办法
1798
查看次数

React.js 在 Sentry 中记录所有 GraphQL 查询

我有一个React应用程序,我用它包围了一个ErrorBoundary向 Sentry 发送错误的应用程序,它工作正常。我也想将我所有的 GraphQL 查询错误记录到 Sentry 中,但我现在的问题是我所有的 GraphQL 查询,我有一个 catch 块,我可以在其中为失败的查询调度一个操作。当我删除 catch 块时,错误会记录到 Sentry 中,但我无法触发失败的查询操作。

我现在的解决方案是将Sentry.captureException()非常重复的 GraphQL 查询的每个 catch 块放入。

ErrorBoundary即使查询有自己的 catch 块,有没有办法允许它仍然捕获 GraphQL 错误?

function getEmployee() {
    return function(dispatch) {
        dispatch(requestEmployeeInformation());

        GraphqlClient.query({ query: EmployeeQuery, fetchPolicy: 'network-only' })
            .then((response) => {
                dispatch(receiveEmployeeInformation(response.data));
            })
            .catch((error) => {
                /* temporary solution. This sends error to sentry but is very repetitive because
                   it has to be added to every single action with a graphql query 
                 */ …
Run Code Online (Sandbox Code Playgroud)

sentry reactjs graphql react-error-boundary

3
推荐指数
1
解决办法
899
查看次数