『翻译』Node.js 调试

原文连接:Node.js Debuggingnode

无论在开发中仍是部署后,适当的日志记录对于web应用来讲很是有用。困难的是如何组织日志代码和输出日志,简单来讲:知道每一个日志的来源。我最近找到一种实用的组织和优化Node.js调试的方法。web

建立一个 debug 实例很简单,而且能够为每一个文件建立多个 logger安全

// Create multiple instances of debug(建立多个debug实例)
// In theory these would serve two different purposes(理论上这两个debug实例分别负责不一样的日志输出)
var debuggerA = require('debug')('worker:a'),
    debuggerB = require('debug')('worker:b');

// Sample usages of the debugger(演示调试器的用法)
function work() {
  debuggerA('doing lots of uninteresting work');
  setTimeout(work, Math.random() * 1000);
}

work();

function workb() {
  debuggerB('doing some work');
  setTimeout(workb, Math.random() * 2000);
}

workb();复制代码

logger
logger

你必须定义环境变量,用于给调试器实例分配命名空间。当脚本运行时,日志应该输出到 STDOUTbash

// Show all debugger messages prefixed "worker:_____"(全部debugger的前缀都为 "worker:_____")
DEBUG=worker:* node app.js复制代码

当使用环境变量的方式,当你只想在开发或生产环境记录某种类型的消息,输出的日志会很清晰。命名空间的使用多么明智!app

我还可能使用 chalk 为消息加上我想要的颜色:dom

var chalk = require('chalk');

debuggerA(chalk.red.bold('OMG an awful error!'));复制代码

调试具备很是简单的目的,为了帮助咱们更好的完成任务。当涉及到记录信息消息时不要吝啬,它会在开发过程当中帮助你,而且在安全事件发生后更好的审视自身!优化

本文译者:余震(Freak)
译文出处:Rockjins Blog
版权声明:本博客全部文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN许可协议。转载请注明出处!ui

相关文章
相关标签/搜索