Skip to content
This repository was archived by the owner on Jun 13, 2023. It is now read-only.

Commit 3de10bf

Browse files
oshervOsher Vaknin
and
Osher Vaknin
authored
feat(errors): added global logger handler for scpecific case (#47)
Co-authored-by: Osher Vaknin <[email protected]>
1 parent 10db0de commit 3de10bf

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

packages/web/src/exporter.js

+5
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import EpsagonFormatter from './formatter';
66
import EpsagonResourceManager from './resource-manager';
77
import EpsagonIPCalculator from './ip-calculator';
88
import EpsagonUtils from './utils';
9+
import {loggingErrorHandler} from "@opentelemetry/core";
910

1011
const rootType = {
1112
EPS: 'epsagon_init',
@@ -223,6 +224,10 @@ class EpsagonExporter extends CollectorTraceExporter {
223224
});
224225
return { attributesLength, span, spanAttributes };
225226
}
227+
228+
send(objects, onSuccess, onError) {
229+
super.send(objects, onSuccess, loggingErrorHandler());
230+
}
226231
}
227232

228233
export default EpsagonExporter;

packages/web/src/web-tracer.js

+8
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ import EpsagonDocumentLoadInstrumentation from './instrumentation/documentLoadIn
1111
import EpsagonExporter from './exporter';
1212
import EpsagonUtils from './utils';
1313
import EpsagonRedirectInstrumentation from './instrumentation/redirectInstrumentation';
14+
import {
15+
setGlobalErrorHandler,
16+
loggingErrorHandler, globalErrorHandler
17+
} from "@opentelemetry/core";
1418

1519
const { CompositePropagator, HttpTraceContextPropagator } = require('@opentelemetry/core');
1620
const parser = require('ua-parser-js');
@@ -21,6 +25,7 @@ let epsSpan;
2125
const DEFAULT_APP_NAME = 'Epsagon Application';
2226
const PAGE_LOAD_TIMEOUT = 30000;
2327

28+
2429
class EpsagonSpan {
2530
constructor(tracer) {
2631
const span = tracer.startSpan('epsagon_init', {
@@ -140,13 +145,16 @@ function init(_configData) {
140145
metadataOnly: configData.metadataOnly,
141146
};
142147

148+
setGlobalErrorHandler(loggingErrorHandler());
149+
143150
const provider = new WebTracerProvider();
144151

145152
/* eslint-disable no-undef */
146153
const userAgent = parser(navigator.userAgent);
147154

148155
const exporter = new EpsagonExporter(collectorOptions, userAgent);
149156

157+
150158
provider.addSpanProcessor(new BatchSpanProcessor(exporter));
151159

152160
provider.register({

0 commit comments

Comments
 (0)