構成ファイルを介して構成されているlog4netを使用しています。すべてをデバッグでログインさせたい場合が1つあります(アップグレード中に使用されるコードもあります)。とにかく、現在のログレベルを取得し、デバッグするように設定し、指定されたコードを実行してから、以前の状態に戻すことができますか?
2378 次
3 に答える
3
構成ファイルに、DEBUG専用のセクションを追加できます。
<logger name="MyApp.DebugLogging" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="MainLog"/>
</logger
次に、コードで、次を使用してこのロガーにアクセスできます。
private static readonly ILog debuglog = log4net.LogManager.GetLogger("MyApp.DebugLogging");
そして、コードブロックで変数を次のように使用します
debuglog .Debug(ex);
ここでの考え方は、構成ファイルにさまざまなロガーを作成し、コードブロック内で使用するロガーを柔軟に選択できるようにすることです。
于 2011-01-17T14:03:44.903 に答える
1
ここにアイデアがあります:
log4net構成ファイルのみを使用してください。監視するには、「監視」フラグをtrueに設定します。
この構成ファイル内で、 (各アペンダーで)ロギングフィルターを設定します。その最小レベルを、たとえば、Info
または何にでも設定します。http://logging.apache.org/log4net/release/manual/configuration.htmlの「フィルター」セクションを参照してください。
次に、アップグレードフェーズの前に、構成ファイルを編集し、フィルターの最小レベルをたとえばに変更しますDebug
。
アップグレードが完了したら、フィルターの最小レベルを元の値に戻します。
于 2011-01-17T13:53:09.683 に答える
1
この質問では、Log4Netロガーの動的な再構成について説明しました。これにより、必要な情報が得られるはずです。
于 2011-01-17T14:15:33.490 に答える