简体   繁体   English

在 Winston Logging Framework 中实现 Promise

[英]Implementing Promise in Winston Logging Framework

How Can I implement Promise in my logging(code below)我如何在我的日志中实现 Promise(下面的代码)

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 .您可以将日志记录部分包装在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参考 - https://github.com/winstonjs/winston/issues/1364#issuecomment-398404761

It talks about how to use bottleneck and promises它谈到了如何使用bottleneckpromises

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM