UNPKG

@opentelemetry/winston-transport

Version:
64 lines 2.3 kB
"use strict"; /* * Copyright The OpenTelemetry Authors * SPDX-License-Identifier: Apache-2.0 */ Object.defineProperty(exports, "__esModule", { value: true }); exports.emitLogRecord = void 0; const api_logs_1 = require("@opentelemetry/api-logs"); const npmLevels = { error: api_logs_1.SeverityNumber.ERROR, warn: api_logs_1.SeverityNumber.WARN, info: api_logs_1.SeverityNumber.INFO, http: api_logs_1.SeverityNumber.DEBUG3, verbose: api_logs_1.SeverityNumber.DEBUG2, debug: api_logs_1.SeverityNumber.DEBUG, silly: api_logs_1.SeverityNumber.TRACE, }; const sysLoglevels = { emerg: api_logs_1.SeverityNumber.FATAL3, alert: api_logs_1.SeverityNumber.FATAL2, crit: api_logs_1.SeverityNumber.FATAL, error: api_logs_1.SeverityNumber.ERROR, warning: api_logs_1.SeverityNumber.WARN, notice: api_logs_1.SeverityNumber.INFO2, info: api_logs_1.SeverityNumber.INFO, debug: api_logs_1.SeverityNumber.DEBUG, }; const cliLevels = { error: api_logs_1.SeverityNumber.ERROR, warn: api_logs_1.SeverityNumber.WARN, help: api_logs_1.SeverityNumber.INFO3, data: api_logs_1.SeverityNumber.INFO2, info: api_logs_1.SeverityNumber.INFO, debug: api_logs_1.SeverityNumber.DEBUG, prompt: api_logs_1.SeverityNumber.TRACE4, verbose: api_logs_1.SeverityNumber.TRACE3, input: api_logs_1.SeverityNumber.TRACE2, silly: api_logs_1.SeverityNumber.TRACE, }; function getSeverityNumber(level) { return npmLevels[level] ?? sysLoglevels[level] ?? cliLevels[level]; } function emitLogRecord(record, logger) { const { message, level, ...splat } = record; const attributes = {}; // Ensures the log level is read from a symbol property, avoiding any // accidental inclusion of ANSI color codes that may be present in the string // property. const levelSym = record[Symbol.for('level')]; for (const key in splat) { if (Object.prototype.hasOwnProperty.call(splat, key)) { attributes[key] = splat[key]; } } const logRecord = { severityNumber: getSeverityNumber(levelSym), severityText: levelSym, body: message, attributes: attributes, }; logger.emit(logRecord); } exports.emitLogRecord = emitLogRecord; //# sourceMappingURL=utils.js.map