@embrace-io/web-sdk
Version:
1 lines • 1.54 kB
Source Map (JSON)
{"version":3,"file":"BrowserLogRecordProcessor.cjs","names":["KEY_BROWSER_URL_FULL"],"sources":["../../../src/processors/BrowserLogRecordProcessor/BrowserLogRecordProcessor.ts"],"sourcesContent":["import type { LogRecordProcessor, SdkLogRecord } from '@opentelemetry/sdk-logs';\nimport type { URLDocument } from '../../common/index.ts';\nimport { KEY_BROWSER_URL_FULL } from '../../constants/index.ts';\nimport type { BrowserLogRecordProcessorArgs } from './types.ts';\n\n/**\n * BrowserLogRecordProcessor sets the browser.url.full attribute on all log records.\n */\nexport class BrowserLogRecordProcessor implements LogRecordProcessor {\n private readonly _urlDocument: URLDocument;\n\n public constructor({\n urlDocument = window.document,\n }: BrowserLogRecordProcessorArgs = {}) {\n this._urlDocument = urlDocument;\n }\n\n // no-op\n public forceFlush(): Promise<void> {\n return Promise.resolve(undefined);\n }\n\n public onEmit(logRecord: SdkLogRecord): void {\n if (!logRecord.attributes[KEY_BROWSER_URL_FULL]) {\n logRecord.setAttribute(KEY_BROWSER_URL_FULL, this._urlDocument.URL);\n }\n }\n\n // no-op\n public shutdown(): Promise<void> {\n return Promise.resolve(undefined);\n }\n}\n"],"mappings":";;;;;;AAQA,IAAa,4BAAb,MAAqE;CACnE;CAEA,YAAmB,EACjB,cAAc,OAAO,aACY,CAAC,GAAG;EACrC,KAAK,eAAe;CACtB;CAGA,aAAmC;EACjC,OAAO,QAAQ,QAAQ,KAAA,CAAS;CAClC;CAEA,OAAc,WAA+B;EAC3C,IAAI,CAAC,UAAU,WAAA,qBACb,UAAU,aAAaA,6BAAAA,sBAAsB,KAAK,aAAa,GAAG;CAEtE;CAGA,WAAiC;EAC/B,OAAO,QAAQ,QAAQ,KAAA,CAAS;CAClC;AACF"}