目前我的模块中有很多console.log
。其中许多是调试消息,我只需要查看,如果我正在调试我的应用程序。
我想在启动应用程序时使用参数启用调试,例如node myApp.js -d
。此外,如果调试处于活动状态,我的模块应该只调用console.log
。
Node的最佳做法是什么?
答案 0 :(得分:3)
使用像winston这样的东西,因为它提供了不同的日志记录选项。以下是您可能需要的一个简单示例
// Require winston logging library
var winston = require('winston');
// Check if -d is present as CLI argument
if(process.argv.indexOf('-d') > -1){
winston.level = 'debug';
}
// This is only print when winston.level is debug
winston.log('debug', 'Now my debug messages are written to console!');
答案 1 :(得分:1)
向上查看debug。 我相信你正在寻找的东西。
安装调试:
npm install debug --save
示例代码:
var debug = require('debug')('your module');
debug('msg', 'more details');
要开始调试所有应用程序,请运行以下命令:
DEBUG=* node myApp.js
只调试应用上的几个模块:
DEBUG=first,second node myApp.js
没有调试通常会运行您的应用
node myApp.js