electron-log-transport-datadog
Version:
Send logs to Datadog from electron-log in Electron.
1 lines • 2.47 kB
Source Map (JSON)
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import { DataDogTransport } from \"datadog-transport-common\";\nimport type { LogMessage } from \"electron-log\";\nimport type { ElectronLogTransportOpts } from \"./types\";\n\nexport function dataDogTransport(options: ElectronLogTransportOpts) {\n options.service = options.service ?? \"Electron\";\n const transport = new DataDogTransport(options);\n\n return function processLogs(message: LogMessage) {\n // Split the data into the message and metadata\n let msg = \"\";\n let metadata = {};\n let arrayData: any[] = [];\n\n for (const data of message.data) {\n if (typeof data === \"string\") {\n msg = msg + data;\n continue;\n }\n\n if (Array.isArray(data)) {\n arrayData = arrayData.concat(data);\n continue;\n }\n\n if (typeof data === \"object\") {\n metadata = {\n ...metadata,\n ...data,\n };\n }\n }\n\n let item: Record<string, any> = {\n date: message.date.getTime(),\n level: message.level,\n message: msg,\n };\n\n if (Object.keys(metadata).length) {\n if (options.metadataField) {\n item[options.metadataField] = metadata;\n } else {\n item = {\n ...item,\n ...metadata,\n };\n }\n }\n\n if (arrayData.length) {\n if (options.arrayDataField) {\n item[options.arrayDataField] = arrayData;\n } else {\n item.arrayData = arrayData;\n }\n }\n\n transport.processLog(item);\n };\n}\n"],"mappings":";AAAA,SAAS,wBAAwB;AAI1B,SAAS,iBAAiB,SAAmC;AAClE,UAAQ,UAAU,QAAQ,WAAW;AACrC,QAAM,YAAY,IAAI,iBAAiB,OAAO;AAE9C,SAAO,SAAS,YAAY,SAAqB;AAE/C,QAAI,MAAM;AACV,QAAI,WAAW,CAAC;AAChB,QAAI,YAAmB,CAAC;AAExB,eAAW,QAAQ,QAAQ,MAAM;AAC/B,UAAI,OAAO,SAAS,UAAU;AAC5B,cAAM,MAAM;AACZ;AAAA,MACF;AAEA,UAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,oBAAY,UAAU,OAAO,IAAI;AACjC;AAAA,MACF;AAEA,UAAI,OAAO,SAAS,UAAU;AAC5B,mBAAW;AAAA,UACT,GAAG;AAAA,UACH,GAAG;AAAA,QACL;AAAA,MACF;AAAA,IACF;AAEA,QAAI,OAA4B;AAAA,MAC9B,MAAM,QAAQ,KAAK,QAAQ;AAAA,MAC3B,OAAO,QAAQ;AAAA,MACf,SAAS;AAAA,IACX;AAEA,QAAI,OAAO,KAAK,QAAQ,EAAE,QAAQ;AAChC,UAAI,QAAQ,eAAe;AACzB,aAAK,QAAQ,aAAa,IAAI;AAAA,MAChC,OAAO;AACL,eAAO;AAAA,UACL,GAAG;AAAA,UACH,GAAG;AAAA,QACL;AAAA,MACF;AAAA,IACF;AAEA,QAAI,UAAU,QAAQ;AACpB,UAAI,QAAQ,gBAAgB;AAC1B,aAAK,QAAQ,cAAc,IAAI;AAAA,MACjC,OAAO;AACL,aAAK,YAAY;AAAA,MACnB;AAAA,IACF;AAEA,cAAU,WAAW,IAAI;AAAA,EAC3B;AACF;","names":[]}