0

鉴于此示例指挥官应用程序:

// index.ts

// Config Winston:
winston.configure({
    level: 'info',
    format: winston.format.combine(winston.format.splat(), winston.format.cli()),
    transports: [new winston.transports.Console({})],
});

winston.info('Started CLI')

// Configure commander
const cli = new Command()
    .option('--debug', 'Debug mode', false) // Or --verbose, it doesn't really matter.
    .action(actionCallback); // Imported.

cli.parse();

给定提供的指挥官选项,如何设置 winston 日志记录级别--debug

我可以使用 DEBUG env var,但这有点破坏了--debugCLI 中标志的用途。有什么建议吗?

4

1 回答 1

0

最简单的解决方案,实际上是解决方法,是自己检查--debug标志:

const debugLevel = process.argv.indexOf('--debug') != -1 ? 'debug' : 'info';

winston.configure({
    level: debugLevel,
    format: winston.format.combine(winston.format.splat(), winston.format.cli()),
    transports: [new winston.transports.Console({})],
});
于 2022-01-28T20:46:43.463 回答