UNPKG

@embrace-io/web-sdk

Version:
1 lines 1.5 kB
{"version":3,"file":"LogRecordScrubProcessor.cjs","names":[],"sources":["../../../src/processors/LogRecordScrubProcessor/LogRecordScrubProcessor.ts"],"sourcesContent":["import type { LogRecordProcessor, SdkLogRecord } from '@opentelemetry/sdk-logs';\nimport type { AttributeScrubber } from '../../common/index.ts';\nimport type { LogRecordScrubProcessorArgs } from './types.ts';\n\nexport class LogRecordScrubProcessor implements LogRecordProcessor {\n private readonly _attributeScrubbers: AttributeScrubber[];\n\n public constructor({ attributeScrubbers }: LogRecordScrubProcessorArgs) {\n this._attributeScrubbers = attributeScrubbers;\n }\n\n // no-op\n public forceFlush(): Promise<void> {\n return Promise.resolve(undefined);\n }\n\n public onEmit(logRecord: SdkLogRecord) {\n this._attributeScrubbers.forEach((scrubber) => {\n const value = logRecord.attributes[scrubber.key];\n if (value && typeof value === 'string') {\n logRecord.setAttribute(scrubber.key, scrubber.scrub(value));\n }\n });\n }\n\n // no-op\n public shutdown(): Promise<void> {\n return Promise.resolve(undefined);\n }\n}\n"],"mappings":";;AAIA,IAAa,0BAAb,MAAmE;CACjE;CAEA,YAAmB,EAAE,sBAAmD;EACtE,KAAK,sBAAsB;CAC7B;CAGA,aAAmC;EACjC,OAAO,QAAQ,QAAQ,KAAA,CAAS;CAClC;CAEA,OAAc,WAAyB;EACrC,KAAK,oBAAoB,SAAS,aAAa;GAC7C,MAAM,QAAQ,UAAU,WAAW,SAAS;GAC5C,IAAI,SAAS,OAAO,UAAU,UAC5B,UAAU,aAAa,SAAS,KAAK,SAAS,MAAM,KAAK,CAAC;EAE9D,CAAC;CACH;CAGA,WAAiC;EAC/B,OAAO,QAAQ,QAAQ,KAAA,CAAS;CAClC;AACF"}