datadog-logger-integrations
Version:
Datadog logger integrations
31 lines (28 loc) • 954 B
JavaScript
import winston from 'winston';
import { D as DataDogWritableStream } from '../DataDogWritableStream-DmZdC6Mh.mjs';
import { c as convertLevel } from '../convertLevel-BkB4bGlH.mjs';
import 'node:stream';
import '@datadog/datadog-api-client';
const getDataDogStream = (config) => new DataDogWritableStream({
...config,
logMessageBuilder: config.logMessageBuilder ?? (({ level, hostname, ...parsedItem }) => ({
ddsource: config.ddSource,
ddtags: config.ddTags,
service: config.service,
message: JSON.stringify({
date: (/* @__PURE__ */ new Date()).toISOString(),
...parsedItem,
level: convertLevel(level)
}),
hostname: typeof hostname === "string" ? hostname : hostname
}))
});
class DataDogTransport extends winston.transports.Stream {
constructor(config) {
super({
stream: getDataDogStream(config)
});
}
}
export { DataDogTransport, getDataDogStream };
//# sourceMappingURL=index.mjs.map