UNPKG

datadog-logger-integrations

Version:
46 lines (43 loc) 1.6 kB
import { D as DataDogWritableStream } from '../DataDogWritableStream-DmZdC6Mh.mjs'; import 'node:stream'; import '@datadog/datadog-api-client'; var __defProp = Object.defineProperty; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __publicField = (obj, key, value) => __defNormalProp(obj, key + "" , value); const convertLevel = (level) => { if (typeof level === "string") return level; if (level === 0) return "error"; if (level === 1) return "warning"; if (level === 2) return "info"; if (level === 3) return "info"; if (level === 4) return "debug"; return "trace"; }; const getDataDogStream = (config) => new DataDogWritableStream({ ...config, logMessageBuilder: config.logMessageBuilder ?? // level is the log level of the logger, not interested (({ type, date, level, hostname, ...parsedItem }) => ({ ddsource: config.ddSource, ddtags: config.ddTags, service: config.service, message: JSON.stringify({ date: date ?? (/* @__PURE__ */ new Date()).toISOString(), ...parsedItem, level: convertLevel(type) }), hostname: typeof hostname === "string" ? hostname : void 0 })) }); class DataDogReporter { constructor(config) { __publicField(this, "stream"); this.stream = getDataDogStream(config); } log(logObj) { if (!this.stream.writableEnded) this.stream.write(`${JSON.stringify(logObj)} `); } } export { DataDogReporter, convertLevel, getDataDogStream }; //# sourceMappingURL=index.mjs.map