3

トレースとは何ですか?どのように実行する必要がありますか?

プロジェクトに含めている共通のユーティリティライブラリがあり、そこから出力を取得できるようにしたいと考えています。私はlog4netを使用していますが、一般的なユーティリティライブラリをlog4netに依存させたくありません。それは理にかなっていますか?

編集:ロギングとトレースの間に相関関係はありますか?何らかの理由でトレースとロギングを同じストリームに入れたいですか?

プロジェクトにあるlog4netLogger.Debug(..)の一部をSystem.Diagnostics.Trace.WriteLine(..)に置き換える必要がありますか?

4

3 に答える 3

4

以下は、.NET BCL チームの Mike Rousos によるブログ投稿です。

于 2008-10-07T14:44:01.380 に答える
0

すべてのプロジェクトとライブラリで log4net を使用する方が簡単ではないでしょうか (よく読んでください)。このようにして、プロジェクトはログを記録する方法を指定でき、共通ライブラリのログはプロジェクトをリッスンするだけです。

共通ライブラリ用のカスタム ロガーがある場合、共通ログが 1 つの場所にあり、アプリケーション (プロジェクト) ログが別の場所にあることになります。

この例として、NHibernate または Castle ActiveRecord を見ることができます。これらはどちらも「一般的なユーティリティ」と見なすことができます (データ アクセスを行っています)。どちらもlog4netを利用しています。したがって、プロジェクトでそれらを使用し、log4net をプロジェクト ロガーとして使用することで、すべてのログ データが 1 つの場所に移動するように指定できます。

必要に応じて、さまざまなロガーをさまざまな方法でセットアップすることもできます。共通ログを INFO レベルで、プロジェクト ログを ERROR でログに記録するようにします。


VSログのトレースに関する別の質問を見つけましたが、かなり深いようです。それを見てください。多分それは助けになるでしょう。トレースとロギング、log4net はどのように適合しますか?

于 2008-10-07T15:01:08.100 に答える
-1

FryHardに同意するか、log4netをカスタムクラスで拡張することをお勧めします。

于 2008-10-07T15:12:54.363 に答える