lambdaorm-base
Version:
57 lines • 2.62 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.WinstonLogger = void 0;
const logger_1 = require("../domain/ports/logger");
const { transports, createLogger, format } = require('winston');
class WinstonLogger extends logger_1.Logger {
constructor() {
super();
this.logger = createLogger({
level: 'info',
format: format.combine(format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss.SSS' }),
// utilFormatter(), // <-- this is what changed
format.colorize(), format.printf(({ level, message, label, timestamp }) => `${timestamp} ${label || '-'} ${level}: ${message}`)),
defaultMeta: { service: 'user-service' },
transports: [
new transports.Console({ timestamp: true }),
new transports.File({ filename: 'error.log', level: 'error', timestamp: true }),
new transports.File({ filename: 'combined.log', timestamp: true })
]
});
if (process.env.NODE_ENV !== 'production') {
this.logger.add(new transports.Console({ format: format.simple() }));
}
}
info(message) {
return __awaiter(this, void 0, void 0, function* () {
this.logger.info(message);
});
}
error(message) {
return __awaiter(this, void 0, void 0, function* () {
if (typeof message === 'string') {
this.logger('error', message);
}
else if (message instanceof Error) {
this.logger('error', message.message);
}
else if (message instanceof Object) {
this.logger('error', JSON.stringify(message));
}
else {
this.logger('error', message.toISOString());
}
});
}
}
exports.WinstonLogger = WinstonLogger;
//# sourceMappingURL=winstonLogger.js.map