5

log4javascriptを使用して、JavaScriptコードの問題をログに記録して追跡しています。私は以前に同様のロギングエイドを見たことがありますが、これらのログレベルのそれぞれをより有用で生産的にするためにどのように使用すべきかを理解するのに苦労しています。

ほとんどの場合、デバッグ、情報、またはトレースのそれぞれがどれほど生産的であるかを実際に意識することなく、それらをログに記録することになります。コードがどんどん大きくなるにつれて、それは難しくなり、ログは助けよりも厄介だと感じています。

ロギングメカニズムをうまく使用できるように、誰かが私にいくつかのガイドライン/ヘルプを教えてもらえますか?

log4javascriptでサポートされているさまざまなログレベルは次のとおりです。

  1. log4javascript.Level.ALL
  2. log4javascript.Level.TRACE
  3. log4javascript.Level.DEBUG
  4. log4javascript.Level.INFO
  5. log4javascript.Level.WARN
  6. log4javascript.Level.ERROR
  7. log4javascript.Level.FATAL
4

1 に答える 1

15

私はlog4javascriptの作者であり、仕事で毎日使用しています。これが私がそれを使う方法です:

  • 私は使用する傾向がありdebug()trace()最も頻繁に使用します。trace()バグを突き止めようとするときの低レベルの操作のdebug()ログ記録と、プログラムフローのより一般的なログ記録に使用します。DEBUGトレースメッセージがログを乱雑にしないように、コンソールのしきい値を通常のコーディングに設定してからALL、トレースメッセージを表示する必要があるときに切り替えます。
  • 私はinfo()かなりの量を使用しますが、通常はロギングコンソールで特定のメッセージを少し目立たせるために使用します。
  • group()私は(http://log4javascript.org/docs/manual.html#loggersを参照)を自由に使用して、特定の操作のロギングをグループ化し、ロギングのチャンクを展開および折りたたむことができます。グループはネストすることもできます。
  • ロギング初期化コードを1つの場所に保持し、アプリケーションの各コンポーネントに個別のロガー(ルートロガーから継承)を提供します。これにより、特定のコンポーネントのロギングしきい値を設定できます。

例えば:

var component1 = (function() {
    var log = log4javascript.getLogger("MyApp.Components.Component1");

    // Implementation stuff
})();

var component2 = (function() {
    var log = log4javascript.getLogger("MyApp.Components.Component2");

    // Implementation stuff
})();

ロギング初期化コード:

// Create a console appender that is inherited by all loggers
var appender = new log4javascript.PopUpAppender();
appender.setThreshold(log4javascript.Level.DEBUG);

// Limit the number of messages displayed in the console at any one time
appender.setMaxMessages(2000);

log4javascript.getRootLogger().addAppender(appender);

// Disable all logging except ERROR and FATAL for the "MyApp.Components"
// logger and all its descendants (including "MyApp.Components.Component1" and
// "MyApp.Components.Component2")
log4javascript.getLogger("MyApp.Components").setLevel(log4javascript.Level.ERROR);

これはすべてのlog4xロギングフレームワークに共通であるため、log4jまたはlog4netのドキュメントが適用されます。たとえば、古いがまだ関連性のあるlog4jの短いマニュアルが役立つ場合があります。

于 2011-02-02T10:18:58.980 に答える