nestjs-context-winston
Version:
Contextual Logger for nestjs apps using AsyncLocalStorage and winston
25 lines • 1.3 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.loggerFactory = loggerFactory;
const winston_1 = __importDefault(require("winston"));
const internal_1 = require("./internal");
function loggerFactory({ logClass, logLevel, logEnricher, }) {
const timestamp = winston_1.default.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' });
const customEnricher = logEnricher ? [logEnricher()] : [];
const format = process.env.VSCODE_INJECTION === '1'
? winston_1.default.format.combine(winston_1.default.format.colorize(), timestamp, winston_1.default.format.errors({ stack: true }), ...customEnricher, winston_1.default.format.printf(internal_1.printColoredMeta))
: winston_1.default.format.combine(timestamp, ...customEnricher, winston_1.default.format.json());
const baseLogger = winston_1.default.createLogger({
transports: [
new winston_1.default.transports.Console({
format,
level: logLevel || process.env.LOG_LEVEL || 'info',
}),
],
});
return new logClass(baseLogger);
}
//# sourceMappingURL=logger-factory.js.map