如何在控制台应用程序中实现日志记录?

时间:2018-03-14 15:56:31

标签: javascript node.js

现在我把console.log(something)放在我希望看到我所放置的地方发生了什么的地方。当我看到它没问题时,我将其删除。

如何更好地实现我可以轻松打开/关闭的日志记录功能,例如使用启动命令行参数node app.js debug=true

3 个答案:

答案 0 :(得分:1)

你可以这样做:

代码中的某处:

const debug = true

然后:

    if(debug){
      console.log(yourvar)
    }

或者像某人建议的那样:

function debugMe(debug, yourvar){
  if(debug){
    console.log(yourvar)
  }
}

将其包装在函数

答案 1 :(得分:0)

使用不同的日志记录级别可以解决您的问题。理想情况下,您在开发后删除的日志语句可以分配给DEBUG级别。因此,只有当应用程序在调试模式下运行时,它们才会输出。

大多数第三方记录器支持此功能。您可以查看Winston

答案 2 :(得分:0)

最简单的方法是使用Winston或任何类似的节点包

将此代码添加为记录器服务并将其包装在函数

const logger = winston.createLogger({
    transports: [
        new winston.transports.Console()
    ]
});

需要此记录器服务的功能并使用以下任何格式记录。

logger.log({
  level: 'info',
  message: 'Hello distributed log files!'
});

logger.info('Hello again distributed logs');

希望这有帮助。