私はWinFormsアプリケーションへのログインにlog4net APIを使用しています。私は複数のアペンダーを持っている:RollingFileAppenderとTextBoxAppender(カスタムアペンダー)。log4netログメッセージはいくつかのアペンダーにのみ
いくつかのエラーメッセージは、ログファイル(RollingFileAppender)にのみ記録し、テキストボックス(TextBoxAppender)には記録しません。どうすれば達成できますか?メッセージは同じレベル、すなわちすべてのERRORメッセージであることに留意されたい。
ありがとうございました。
EDIT 1:
具体的には、私は唯一のログファイルにシンプルなUIで1行のエラーメッセージだけでなく、ログファイルが、スタックトレースを表示したいです。ここで
あなたが基づいてフィルタリングすることができます
あなたは* * fは、適切なアプリケーションを介して(ちょうど1ロガーでこれを行うことができますが、 ilters)これはlog4netのグレインに逆らっています。通常は、設定ごとに別々のロガーを使い、必要に応じてロガーにアペンダーを追加します( 'FileLogger'、' UILogger'、 'UniversalLogger'など)。ロガーはアペンダーを共有できます。 –
別々のロガーを使用する場合でも、同じレベルのメッセージをフィルタリングするにはどうすればいいですか?たとえば、ログレベルERRORのメッセージがUILoggerに表示され、いくつかのメッセージが同じログレベルERRORで表示されません。基本的には、logger1.Error()やlogger2.Error()のように、必要に応じて両方のロガーを呼び出す必要があるすべての場所であることをお勧めします。 – AllSolutions
複数のロガーインスタンスを使用して、ログメッセージは1つの宛先にしか送信されませんが、大部分のケースでは、メッセージを両方のロガーに送信する必要があります。 – AllSolutions