如何自定义 Sentry 传输?
How do I customise the Sentry transport?
使用 "@sentry/browser": "5.30.0"
.
如何配置 Sentry 以便自定义 Sentry 发送的消息?
我对文档的阅读是 transport
属性 旨在允许这样做,但我无法弄清楚我应该作为参数传递什么。
Sentry.init({
dsn: '...',
autoSessionTracking: false,
transport: (options: TransportOptions)=>{
return new MyFetchTransport(options);
},
});
class MyFetchTransport extends FetchTransport {
constructor(options: TransportOptions){
super(options);
}
sendEvent(event: Event): PromiseLike<Response>{
return super.sendEvent(event);
}
sendSession(session: Session): PromiseLike<Response>{
return super.sendSession(session);
}
}
以上给出了 Typescript 错误:
Type '(options: TransportOptions) => MyFetchTransport' is not assignable to type 'TransportClass<Transport>'.
Type '(options: TransportOptions) => MyFetchTransport' provides no match for the signature 'new (options: TransportOptions): Transport'. TS2322
如果我想自定义 Sentry 发送消息的方式,init 调用应该是什么样的?
在 Sentry 文档中找到 example,init()
调用应该如下所示:
Sentry.init({
dsn: '...',
autoSessionTracking: false,
transport: MyFetchTransport,
});
使用 "@sentry/browser": "5.30.0"
.
如何配置 Sentry 以便自定义 Sentry 发送的消息?
我对文档的阅读是 transport
属性 旨在允许这样做,但我无法弄清楚我应该作为参数传递什么。
Sentry.init({
dsn: '...',
autoSessionTracking: false,
transport: (options: TransportOptions)=>{
return new MyFetchTransport(options);
},
});
class MyFetchTransport extends FetchTransport {
constructor(options: TransportOptions){
super(options);
}
sendEvent(event: Event): PromiseLike<Response>{
return super.sendEvent(event);
}
sendSession(session: Session): PromiseLike<Response>{
return super.sendSession(session);
}
}
以上给出了 Typescript 错误:
Type '(options: TransportOptions) => MyFetchTransport' is not assignable to type 'TransportClass<Transport>'.
Type '(options: TransportOptions) => MyFetchTransport' provides no match for the signature 'new (options: TransportOptions): Transport'. TS2322
如果我想自定义 Sentry 发送消息的方式,init 调用应该是什么样的?
在 Sentry 文档中找到 example,init()
调用应该如下所示:
Sentry.init({
dsn: '...',
autoSessionTracking: false,
transport: MyFetchTransport,
});