pino-splunk-events
Version:
Pino transport layer to splunk-events
65 lines (47 loc) • 1.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.PrettyConsole = void 0;
var _toSplunkEvent = require("./toSplunkEvent");
var _isPresent = require("./utils/logic/isPresent");
var _formatTime = require("./utils/time/formatTime");
var _omit = require("./utils/object/omit");
var _ConsoleLevel = require("./ConsoleLevel");
const messageFormatSplunkLog = log => {
var _log$msg;
if (log.workflowType) {
if (log.msg) {
return `[${log.workflowType}] ${log.msg}`;
}
return `[${log.workflowType}]`;
}
return (_log$msg = log.msg) !== null && _log$msg !== void 0 ? _log$msg : '';
};
const messageFormat = log => {
if ((0, _toSplunkEvent.isSplunkLog)(log)) {
return messageFormatSplunkLog(log);
}
return '';
};
const defaultIgnore = ['level', 'time', 'msg', 'account', 'workflowType'];
const print = (log, level, ignore = defaultIgnore) => {
if ((0, _toSplunkEvent.isSplunkLog)(log)) {
const messages = [];
const logLevel = level !== null && level !== void 0 ? level : (0, _ConsoleLevel.getConsoleLevelFromSplunkLog)(log);
messages.push(`[${(0, _formatTime.formatTime)(new Date(log.time))}]: ${messageFormatSplunkLog(log)}`);
const event = (0, _omit.omit)(ignore, log);
if ((0, _isPresent.isPresent)(event)) {
messages.push(event);
} // eslint-disable-next-line no-console
console[logLevel](...messages);
} else {
console.error(log);
}
};
const PrettyConsole = {
messageFormat,
print,
defaultIgnore
};
exports.PrettyConsole = PrettyConsole;