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 のみ表示 |
|
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