UNPKG

@loglayer/plugin-datadog-apm-trace-injector

Version:

Injects DataDog APM traces to logs in LogLayer.

31 lines (29 loc) 815 B
//#region src/plugin.ts /** * Creates a new Datadog trace injector plugin. * * This plugin injects the current Datadog APM trace context into the log data. * * @param config - The datadog trace injector plugin configuration * @returns A LogLayer plugin instance */ function datadogTraceInjectorPlugin(config) { const tracer = config.tracerInstance; return { id: config.id, disabled: config.disabled, onBeforeDataOut({ data }) { if (!data) data = {}; try { const span = tracer.scope().active(); if (span) tracer.inject(span.context(), "log", data); } catch (error) { if (config.onError && error instanceof Error) config.onError(error, data); } return data; } }; } //#endregion exports.datadogTraceInjectorPlugin = datadogTraceInjectorPlugin; //# sourceMappingURL=index.cjs.map