如何使用 "commander" CLI 标志在节点库中设置 "winston" 日志记录级别
How use a "commander" CLI flag to set the the "winston" logging level in a node library
鉴于此示例指挥官应用程序:
// 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,但这有点破坏了 CLI 中 --debug
标志的用途。有什么建议吗?
最简单的解决方案,实际上是解决方法,是自己检查 --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({})],
});
鉴于此示例指挥官应用程序:
// 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,但这有点破坏了 CLI 中 --debug
标志的用途。有什么建议吗?
最简单的解决方案,实际上是解决方法,是自己检查 --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({})],
});