【问题标题】:How does Sentry track errors?Sentry 如何跟踪错误?
【发布时间】:2019-12-01 10:04:22
【问题描述】:

有人知道 Sentry 如何拦截异常吗?

我才刚刚开始使用 Sentry。这是它给我的建议:

// add this
const Sentry = require('@sentry/node');
Sentry.init({ dsn: 'https://eed343acxxxxxxxxxxx3bb7e3f4bc10@sentry.io/1511416' });

// and call some undefined function 
myUndefinedFunction();

如果没有try .. catch 的东西,那么 Sentry 是如何跟踪错误的呢?源代码是开放的,但很难掌握。

附:我对内部工作机制感兴趣,而不是用户说明。

【问题讨论】:

    标签: javascript node.js sentry


    【解决方案1】:

    如果你有错误,你应该把错误发送给哨兵,像这样:

    import * as Sentry from "@sentry/browser";
    
     handleError(error: any): void {
    
          Sentry.captureException(error);
    }
    

    【讨论】:

    • 不,Sentry 不需要。它确实需要什么,在问题中进行了描述。一旦我完成了所需的操作,Sentry 就会收到错误并获得有关它的所有信息。
    【解决方案2】:

    你只需要添加 captureExcepton :

    1. 首先,初始化应用程序
    Sentry.init({ dsn: 'https://8ad77012ba2c436aba8a12e0b6cfd46b@sentry.io/1382991' });
    
    
    
    1. 那么您需要通过以下方式捕获错误:
    function captureError(err){
    Sentry.withScope(scope => {
        Object.keys(extra).forEach(key => { //Here you can add extra message(optional)
          scope.setExtra(key, extra[key]);
        });
        Sentry.captureException(error); //important
      });
    }
    and you can call this function from anywhere just pass err object
    
    

    注意:您需要在函数或 try catch 中的某处捕获此错误。你需要告诉哨兵去捕捉这个异常

    【讨论】:

      猜你喜欢
      • 2020-12-16
      • 2011-07-03
      • 1970-01-01
      • 1970-01-01
      • 2017-03-23
      • 2021-01-03
      • 1970-01-01
      • 2015-03-15
      • 2015-11-19
      相关资源
      最近更新 更多