open-api-aurum-connector-fingo
Version:
Module to connect to the OPEN API Aurum Core
39 lines (32 loc) • 1.27 kB
JavaScript
const { getTransactionContextId } = require("./transactionContext");
const { createLogger, format, transports } = require("winston");
const { combine, colorize, timestamp, printf, errors } = format;
function customFormat() {
const formatMessage = (info) => `${info.timestamp} ${info.level} ${info.message}`;
const formatError = (info) => `${info.timestamp} ${info.level} ${info.message}\n\n${info.stack}\n`;
const formatter = (info) => (info instanceof Error ? formatError(info) : formatMessage(info));
return combine(colorize(), printf(formatter));
}
const logger = createLogger({
format: combine(colorize({ all: true }), timestamp({ format: "YYYY-MM-DD hh:mm:ss.SSS" }), errors({ stack: true }), customFormat()),
transports: [new transports.Console()],
exitOnError: false,
});
const info = (...message) => {
try {
const transactionId = getTransactionContextId() || "";
logger.info(`${transactionId} :: ${message}`);
} catch (e) {
cosole.log("Error in logging message", e);
console.log(message);
}
};
const error = (message) => {
const transactionId = getTransactionContextId() || "";
logger.error(`${transactionId} :: ${message}`);
};
module.exports = {
logger,
info,
error,
};