return excludedKeys[key] === true ? undefined : value
}
-const loggerFormat = winston.format.printf((info) => {
+const consoleLoggerFormat = winston.format.printf(info => {
let additionalInfos = JSON.stringify(info, keysExcluder, 2)
if (additionalInfos === '{}') additionalInfos = ''
+ else additionalInfos = ' ' + additionalInfos
- return `[${info.label}] ${info.timestamp} ${info.level}: ${info.message} ${additionalInfos}`
+ if (info.message && info.message.stack !== undefined) info.message = info.message.stack
+ return `[${info.label}] ${info.timestamp} ${info.level}: ${info.message}${additionalInfos}`
+})
+
+const jsonLoggerFormat = winston.format.printf(info => {
+ if (info.message && info.message.stack !== undefined) info.message = info.message.stack
+
+ return JSON.stringify(info)
})
const timestampFormatter = winston.format.timestamp({
timestampFormatter,
labelFormatter,
winston.format.splat(),
- winston.format.json()
+ jsonLoggerFormat
)
}),
new winston.transports.Console({
winston.format.splat(),
labelFormatter,
winston.format.colorize(),
- loggerFormat
+ consoleLoggerFormat
)
})
],
export {
timestampFormatter,
labelFormatter,
- loggerFormat,
+ consoleLoggerFormat,
logger
}