『翻譯』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

相關文章
相關標籤/搜索