最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Node.js利用debug模塊打印出調(diào)試日志的方法

 更新時(shí)間:2017年04月25日 11:46:13   作者:程序猿小卡_casper  
debug日志打印模塊主要實(shí)現(xiàn)功能是帶命名空間(模塊名)、時(shí)間戳、色彩輸出日志;將日志寫入文件;瀏覽器端使用;格式化函數(shù);支持自定義方法。下面這篇文章主要介紹了Node.js利用debug模塊打印出調(diào)試日志的方法,需要的朋友可以參考借鑒,下面來一起看看吧。

前言

大家都知道在node程序開發(fā)中時(shí),經(jīng)常需要打印調(diào)試日志。用的比較多的是debug模塊,比如express框架中就用到了。下文簡單舉幾個(gè)例子進(jìn)行說明。文中相關(guān)代碼示例,可在這里找到。

備注:node在0.11.3版本也加入了util.debuglog()用于打印調(diào)試日志,使用方法跟debug模塊大同小異。

基礎(chǔ)例子

首先,安裝debug模塊。

npm install debug

使用很簡單,運(yùn)行node程序時(shí),加上DEBUG=app環(huán)境變量即可。

/**
 * debug基礎(chǔ)例子
 */
var debug = require('debug')('app');

// 運(yùn)行 DEBUG=app node 01.js
// 輸出:app hello +0ms
debug('hello');

例子:命名空間

當(dāng)項(xiàng)目程序變得復(fù)雜,我們需要對日志進(jìn)行分類打印,debug支持命令空間,如下所示。

  • DEBUG=app,api:表示同時(shí)打印出命名空間為app、api的調(diào)試日志。
  • DEBUG=a* :支持通配符,所有命名空間為a開頭的調(diào)試日志都打印出來。
/**
 * debug例子:命名空間
 */
var debug = require('debug');
var appDebug = debug('app');
var apiDebug = debug('api');

// 分別運(yùn)行下面幾行命令看下效果
// 
//  DEBUG=app node 02.js
//  DEBUG=api node 02.js
//  DEBUG=app,api node 02.js
//  DEBUG=a* node 02.js
//  
appDebug('hello');
apiDebug('hello');

例子:命名空間排除

有的時(shí)候,我們想要打印出所有的調(diào)試日志,除了個(gè)別命名空間下的。這個(gè)時(shí)候,可以通過-來進(jìn)行排除,如下所示。-account*表示排除所有以account開頭的命名空間的調(diào)試日志。

/**
 * debug例子:排查命名空間
 */
var debug = require('debug');
var listDebug = debug('app:list');
var profileDebug = debug('app:profile');
var loginDebug = debug('account:login');

// 分別運(yùn)行下面幾行命令看下效果
// 
//   DEBUG=* node 03.js
//   DEBUG=*,-account* node 03.js
//   
listDebug('hello');
profileDebug('hello');
loginDebug('hello');

例子:自定義格式化

debug也支持格式化輸出,如下例子所示。

var debug = require('debug')('app');

debug('my name is %s', 'chyingp');

此外,也可以自定義格式化內(nèi)容。

/**
 * debug:自定義格式化
 */
var createDebug = require('debug')

createDebug.formatters.h = function(v) {
 return v.toUpperCase();
};

var debug = createDebug('foo');

// 運(yùn)行 DEBUG=foo node 04.js 
// 輸出 foo My name is CHYINGP +0ms
debug('My name is %h', 'chying');

相關(guān)鏈接

debug:https://github.com/visionmedia/debug
debuglog:https://nodejs.org/api/util.html#util_util_debuglog_section

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持

相關(guān)文章

  • 深入淺析Node.js 事件循環(huán)、定時(shí)器和process.nextTick()

    深入淺析Node.js 事件循環(huán)、定時(shí)器和process.nextTick()

    這篇文章主要介紹了Node.js 事件循環(huán)、定時(shí)器和process.nextTick()的相關(guān)知識,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-10-10
  • Nodejs libuv運(yùn)行原理詳解

    Nodejs libuv運(yùn)行原理詳解

    在本篇文章里小編給大家整理的是關(guān)于Nodejs libuv運(yùn)行原理以及相關(guān)知識點(diǎn),有需要的朋友們可以學(xué)習(xí)下。
    2019-08-08
  • node.js中Util模塊作用教程示例詳解

    node.js中Util模塊作用教程示例詳解

    這篇文章主要為大家介紹了node.js中Util模塊的教程示例詳解,帶大家充分的了解node.js的util模塊,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • koa2 從入門到精通(小結(jié))

    koa2 從入門到精通(小結(jié))

    這篇文章主要介紹了koa2 從入門到精通,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Nest.js散列與加密實(shí)例詳解

    Nest.js散列與加密實(shí)例詳解

    這篇文章主要給大家介紹了關(guān)于Nest.js散列與加密的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • node.js如何自定義實(shí)現(xiàn)一個(gè)EventEmitter

    node.js如何自定義實(shí)現(xiàn)一個(gè)EventEmitter

    我們了解到,Node采用了事件驅(qū)動(dòng)機(jī)制,而EventEmitter就是Node實(shí)現(xiàn)事件驅(qū)動(dòng)的基礎(chǔ),本文主要介紹了node.js自定義實(shí)現(xiàn)EventEmitter,感興趣的可以了解一下
    2021-07-07
  • Nodejs全局安裝和本地安裝的不同之處

    Nodejs全局安裝和本地安裝的不同之處

    這篇文章主要介紹了Nodejs全局安裝和本地安裝的不同之處的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-07-07
  • 淺談node如何優(yōu)雅地獲取mac系統(tǒng)版本

    淺談node如何優(yōu)雅地獲取mac系統(tǒng)版本

    這篇文章主要和大家聊聊node如何優(yōu)雅地獲取mac系統(tǒng)版本,文中有詳細(xì)的代碼示例和流程步驟,對我們學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-06-06
  • Node.js編寫組件的三種實(shí)現(xiàn)方式

    Node.js編寫組件的三種實(shí)現(xiàn)方式

    這篇文章主要介紹了Node.js編寫組件的三種實(shí)現(xiàn)方式,包括純js實(shí)現(xiàn)、v8 API實(shí)現(xiàn)(同步&異步)、借助swig框架實(shí)現(xiàn),感興趣的小伙伴們可以參考一下
    2016-02-02
  • 詳解node如何讓一個(gè)端口同時(shí)支持https與http

    詳解node如何讓一個(gè)端口同時(shí)支持https與http

    眾所周知node是一個(gè)高性能的web服務(wù)器,使用它可以很簡單的創(chuàng)建一個(gè)http或https的服務(wù)器。這篇文章主要介紹了詳解node如何讓一個(gè)端口同時(shí)支持https與http
    2017-07-07

最新評論

南乐县| 汤阴县| 三穗县| 鄂州市| 江北区| 嘉禾县| 芜湖县| 通江县| 香河县| 宜宾市| 沽源县| 景德镇市| 调兵山市| 四子王旗| 岳西县| 六盘水市| 宣武区| 阿瓦提县| 禄劝| 开远市| 新邵县| 灵璧县| 鹿邑县| 昌邑市| 枣庄市| 和龙市| 大名县| 九寨沟县| 洪湖市| 徐州市| 奎屯市| 犍为县| 仙游县| 根河市| 百色市| 外汇| 芒康县| 武胜县| 隆昌县| 通辽市| 房产|