2013-05-11 13 views
7

私のJSコードは、通常console.log()のデバッグメッセージでいっぱいです。場合によっては、電源を切ったり、電源を切ったりするのが良い場合もあります。Console.logのデバッグメッセージ管理

Iは、例えば、いくつかの定数によって定義された条件でいくつかの機能でconsole.log()文をラップすることができます。デバッグ出力を管理する最善の方法ですか、よりエレガントな選択肢ですか?関数にconsole.logラッピング

答えて

4

はうまく動作します。しかし、javascriptのためにそこにたくさんのロギングユーティリティもあることに気づくでしょう。 "js logger"の小さなGoogleが適切な結果をもたらすかもしれません。

+0

ありがとうございます。すでにいくつかのものを見つけました! :) – zavg

2

JS loggerは、ログメッセージレベルといくつかの定義済みのロギングレベル(DEBUG、INFO、WARN、ERROR)のための柔軟な設定を備えた非常に優れた軽量ツールです。

5

Bunyanロギングモジュールは、Node.jsの

例コードhi.jsに人気のある:

var bunyan = require('bunyan'); 
var log = bunyan.createLogger({name: 'myapp'}); 
log.info('hi'); 
log.warn({lang: 'fr'}, 'au revoir'); 

出力:

$ node hi.js | bunyan -l warn 
[2013-01-04T19:08:37.182Z] WARN: myapp/40353 on localhost: au revoir (lang=fr) 
:あなたは、コマンドラインからフィルタリングすることができます

{"name":"myapp","hostname":"localhost","pid":40161,"level":30,"msg":"hi","time":"2013-01- 04T18:46:23.851Z","v":0} 
{"name":"myapp","hostname":"localhost","pid":40161,"level":40,"lang":"fr","msg":"au revoir","time":"2013-01-04T18:46:23.853Z","v":0} 

3

Node.jsを使用している場合、console.log()の代わりにdebugが非常に有効です

これは基本的にconsole.log()に代わるものですが、DEBUGそれぞれのファイルでどのように初期化したかに基づいています。

のは、私は私のindex.jsファイルから参照されるファイルのカップルでプロジェクトを持っているとしましょう:

var debug = require('debug')('one-one'); 

var func = function() { 
    debug('func'); 
} 

two.js

var debug = require('debug')('one-two'); 

var func = function() { 
    debug('func'); 
} 

one.jsあなたがきました最初のファイルに "one-one"という名前を付け、2番目のファイルに "one-two"という名前のデバッグを初期化しました。コマンドラインで

私はこのようにそれらを実行することができます。

node index.js 

結果:なしデバッグ出力。私はこのようにそれを実行する場合は、:

DEBUG=* node index.js 

デバッグ文は、異なる色で、デバッグ名前で、しかし、書き出されます(一から一または一から二)ので、私は伝えることができ、両方のそれらから来たファイル。

ここでもう少し絞り込みたいとしましょう。あなたは実行することができます:

DEBUG = * - 2つのノードのインデックス。JS

のみ

index.js名の末尾または

DEBUG =ワン・ノードへの "-two" と設定されていますデバッグ出力を取得するには"one-"で始まるものすべてを手に入れてください

また、すべてのもの、または一連のもの、またはパターンやセットを除外したいと言うこともできます。あなたは、ダッシュで例その前に何かを除外するには:

DEBUG = 1 *、サル*、 - 猿:バナナ、-elephant、-chimp:*ノード

このindex.js

:あなたは、その後以外のすべてを除外したい場合

「:バナナ猿」、または「象」または「チンパンジー」で始まる「1」または「猿」と何かを除外すると呼ばれるで始まるすべてのものが含まれます

DEBUG = *、 - 後n1、-pattern2ノードインデックス.js

関連する問題