UNPKG

electron-log-transport-datadog

Version:
54 lines 1.29 kB
// src/index.ts import { DataDogTransport } from "datadog-transport-common"; function dataDogTransport(options) { options.service = options.service ?? "Electron"; const transport = new DataDogTransport(options); return function processLogs(message) { let msg = ""; let metadata = {}; let arrayData = []; for (const data of message.data) { if (typeof data === "string") { msg = msg + data; continue; } if (Array.isArray(data)) { arrayData = arrayData.concat(data); continue; } if (typeof data === "object") { metadata = { ...metadata, ...data }; } } let item = { date: message.date.getTime(), level: message.level, message: msg }; if (Object.keys(metadata).length) { if (options.metadataField) { item[options.metadataField] = metadata; } else { item = { ...item, ...metadata }; } } if (arrayData.length) { if (options.arrayDataField) { item[options.arrayDataField] = arrayData; } else { item.arrayData = arrayData; } } transport.processLog(item); }; } export { dataDogTransport }; //# sourceMappingURL=index.mjs.map