@datadog/browser-logs
Version:
29 lines • 1.2 kB
JavaScript
import { noop, ErrorSource } from '@datadog/browser-core';
import { StatusType } from '../logger/isAuthorized';
import { createErrorFieldFromRawError } from '../createErrorFieldFromRawError';
export function startRuntimeErrorCollection(configuration, lifeCycle, bufferedDataObservable) {
if (!configuration.forwardErrorsToLogs) {
return { stop: noop };
}
const rawErrorSubscription = bufferedDataObservable.subscribe((bufferedData) => {
if (bufferedData.type === 0 /* BufferedDataType.RUNTIME_ERROR */) {
const error = bufferedData.error;
lifeCycle.notify(0 /* LifeCycleEventType.RAW_LOG_COLLECTED */, {
rawLogsEvent: {
message: error.message,
date: error.startClocks.timeStamp,
error: createErrorFieldFromRawError(error),
origin: ErrorSource.SOURCE,
status: StatusType.error,
},
messageContext: error.context,
});
}
});
return {
stop: () => {
rawErrorSubscription.unsubscribe();
},
};
}
//# sourceMappingURL=runtimeErrorCollection.js.map