JavaScript

npm debug の使い方

npm-debug

visionmedia / debug

Node.js と Web ブラウザで動作する軽量デバッグユーティリティ。 環境変数で出力範囲をフィルタできる。

A tiny JavaScript debugging utility modelled after Node.js core’s debugging technique. Works in Node.js and web browsers
— visionmedia/debug

Tips from documents

#Windows note

cmd.exe と PowerShell での使い方

#Namespace Colors

デバッグ文字列の色はネームスペースをもとに決定される

#Millisecond diff

ネームスペースごとに前回呼び出しからの経過時間を表示

#Wildcards

デバッグ出力の対象にするネームスペース指定に使うワイルドカード * の説明。 先頭にハイフン - を付けて除外することもできる。カンマ区切りで複数指定可能。

DEBUG Purpose

"*"

すべて表示

"myapp"

myapp のみ表示

"*,-sockjs-client:*"

sockjs-client 名前空間のみ表示しない

""

なにも表示しない

#Formatters

Debug uses printf-style formatting. カスタムフォーマッタあり。

#Browser Support

ブラウザでも動作させることが可能。有効にするにはローカルストレージにネームスペースを設定する。

localStorage.debug = '*'
#Output streams

デフォルトでは stderr 出力を使用しているところを変更できる。

#Set dynamically

コード内で動的にデバッグ出力の有効・無効を切り替えることができる。

#Checking whether a debug target is enabled

有効・無効の状態を扱うことができるので if 文による分岐ができる。

Install

$ npm install debug

Snippets

bash
$ DEBUG=* node index.js
fish shell
$ env DEBUG="*" node index.js
fish shell (export)
$ set -x DEBUG "*"
ES6 import style
import Debug from 'debug'
const debug = Debug('myapp')

debug('Hello')
//=> myapp Hello +0ms
Node.js
var debug = require('debug')('myapp');

debug('Hello');
//=> myapp Hello +0ms