datadog-logger-integrations
Version:
Datadog logger integrations
38 lines (32 loc) • 1.2 kB
JavaScript
;
var winston = require('winston');
var DataDogWritableStream = require('../DataDogWritableStream-CdImPeib.cjs');
var convertLevel = require('../convertLevel-7YLF_Vio.cjs');
require('node:stream');
require('@datadog/datadog-api-client');
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
var winston__default = /*#__PURE__*/_interopDefault(winston);
const getDataDogStream = (config) => new DataDogWritableStream.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.convertLevel(level)
}),
hostname: typeof hostname === "string" ? hostname : hostname
}))
});
class DataDogTransport extends winston__default.default.transports.Stream {
constructor(config) {
super({
stream: getDataDogStream(config)
});
}
}
exports.DataDogTransport = DataDogTransport;
exports.getDataDogStream = getDataDogStream;
//# sourceMappingURL=index.cjs.map