@sentry/node
Version:
Sentry Node SDK using OpenTelemetry for performance instrumentation
28 lines (24 loc) • 1.25 kB
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const attributes = require('@sentry/conventions/attributes');
const util = require('node:util');
const core = require('@sentry/core');
function captureLog(level, ...args) {
const [messageOrMessageTemplate, paramsOrAttributes, maybeAttributesOrMetadata, maybeMetadata] = args;
if (Array.isArray(paramsOrAttributes)) {
const attributes$1 = { ...maybeAttributesOrMetadata };
attributes$1[attributes.SENTRY_MESSAGE_TEMPLATE] = messageOrMessageTemplate;
paramsOrAttributes.forEach((param, index) => {
attributes$1[`sentry.message.parameter.${index}`] = param;
});
const message = util.format(messageOrMessageTemplate, ...paramsOrAttributes);
core._INTERNAL_captureLog({ level, message, attributes: attributes$1 }, maybeMetadata?.scope);
} else {
core._INTERNAL_captureLog(
{ level, message: messageOrMessageTemplate, attributes: paramsOrAttributes },
// type-casting here because from the type definitions we know that `maybeAttributesOrMetadata` is a metadata object (or undefined)
maybeAttributesOrMetadata?.scope ?? maybeMetadata?.scope
);
}
}
exports.captureLog = captureLog;
//# sourceMappingURL=capture.js.map