How Can I implement Promise in my logging(code below)
function logger(logFile) {
return createLogger({
level: loggerLevel === 'undefined' ? 'debug' : loggerLevel,
format: format.combine(
format.timestamp({
format: 'YYYY-MM-DD HH:mm:ss'
}),
format.printf(info => `${info.timestamp} ${info.level}: ${info.message}`)),
transports: [new transports.File({ filename: path.join(logDir, logFile) })]
});
}
module.exports.logger = logger;
And how to use it as an async/ await in the caller of this logger (code sample as below)
const loggerForXYZ = logger('XYZ.log');
loggerForXYZ .log('info', 'test message log');
You can wrap the logging part in Promise.resolve
. Something like this.
log({ level, message } : {level: string, message: string }) {
LoggerService.bottleneck.schedule({}, () => {
return Promise.resolve(LoggerService.getLogger().log({ level, message }));
});
}
Reference - https://github.com/winstonjs/winston/issues/1364#issuecomment-398404761
It talks about how to use bottleneck
and promises
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.