欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

前言

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

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

基礎(chǔ)例子

首先,安裝debug模塊。

npm install debug

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

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

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

例子:命名空間

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

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

// 分別運行下面幾行命令看下效果
// 
//  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');

例子:命名空間排除

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

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

// 分別運行下面幾行命令看下效果
// 
//   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');

// 運行 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)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持

相關(guān)文章

  • nodejs高大上的部署方式(PM2)

    nodejs高大上的部署方式(PM2)

    這篇文章主要介紹了nodejs高大上的部署方式(PM2) ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • Nodejs監(jiān)控事件循環(huán)異常示例詳解

    Nodejs監(jiān)控事件循環(huán)異常示例詳解

    這篇文章主要給大家介紹了關(guān)于Nodejs監(jiān)控事件循環(huán)異常的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Nodejs具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-09-09
  • 使用nodejs?spider爬取圖片及數(shù)據(jù)實現(xiàn)

    使用nodejs?spider爬取圖片及數(shù)據(jù)實現(xiàn)

    這篇文章主要為大家介紹了使用nodejs?spider爬取圖片及數(shù)據(jù)實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • node+express+ejs制作簡單頁面上手指南

    node+express+ejs制作簡單頁面上手指南

    本文記錄了使用node+express+ejs制作簡單頁面的全過程,話說express+ejs真的是太難了,有種蛋蛋的憂傷~
    2014-11-11
  • 使用nvm實現(xiàn)多個nodejs版本的快速切換

    使用nvm實現(xiàn)多個nodejs版本的快速切換

    NodeJS的升級比較快,在開發(fā)中要使用最新的版本,必須經(jīng)常升級,但對于一些老項目可能又要使用低版本的NodeJS,使用nvm工具可以方便的管理下載的NodeJS版本,并通過命令實現(xiàn)NodeJS版本的快速切換,需要的朋友可以參考下
    2024-09-09
  • Node.js實現(xiàn)mysql連接池使用事務(wù)自動回收連接的方法示例

    Node.js實現(xiàn)mysql連接池使用事務(wù)自動回收連接的方法示例

    這篇文章主要介紹了Node.js實現(xiàn)mysql連接池使用事務(wù)自動回收連接的方法,結(jié)合實例形式分析了node.js操作mysql連接池實現(xiàn)基于事務(wù)的連接回收操作相關(guān)技巧,需要的朋友可以參考下
    2018-02-02
  • nvm查看所有node包命令失效原因解決方案

    nvm查看所有node包命令失效原因解決方案

    使用nvm時可能會遇到超時問題,這是由于node的包存放在國外服務(wù)器上,解決方法是在nvm的配置文件中添加鏡像地址,下面就來具體介紹一下步驟,感興趣的可以了解一下
    2024-09-09
  • Node.js中的require.resolve方法使用簡介

    Node.js中的require.resolve方法使用簡介

    在Node.js中,可以使用require.resolve函數(shù)來查詢某個模塊文件的帶有完整絕對路徑的文件名,下面這篇文章主要介紹了Node.js中require.resolve方法使用的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-04-04
  • node.js實現(xiàn)的裝飾者模式示例

    node.js實現(xiàn)的裝飾者模式示例

    這篇文章主要介紹了node.js實現(xiàn)的裝飾者模式,簡單說明了裝飾者模式的原理、功能并結(jié)合實例形式給出了node.js裝飾者模式的實現(xiàn)方法,需要的朋友可以參考下
    2017-09-09
  • Puppeteer 爬取動態(tài)生成的網(wǎng)頁實戰(zhàn)

    Puppeteer 爬取動態(tài)生成的網(wǎng)頁實戰(zhàn)

    這篇文章主要介紹了Puppeteer 爬取動態(tài)生成的網(wǎng)頁實戰(zhàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11

最新評論