log4netでトレースメッセージを記録するには? [c#]


Answers

私はlog4netがこれをサポートしているかどうかは分かりませんが、これを行った独自のトレースリスナを実装できます。

TraceListenerに実装する必要があるメソッドがあまり多くなく、log4netに値を転送するだけで簡単に実行できます。

カスタムトレースリスナを追加するには、 Trace.Listeners.Add(new Log4NetTraceListener()); / web.configを変更するか、 Trace.Listeners.Add(new Log4NetTraceListener());を使用してコードに追加しますTrace.Listeners.Add(new Log4NetTraceListener());

Question

私はlog4netを使用してログメッセージをローリングログファイルに書き出します。

今度は、すべてのトレースメッセージをSystem.Diagnostics.Traceからそのログファイルにリダイレクトします。 どうすれば設定できますか? 私はlog4netのドキュメントでそれについて何かを見つけようとしましたが、成功しませんでした。 まったく可能ですか?

私がそれをしたいのは、私が第三者図書館のトレースメッセージに興味があるからです。

<log4net>
    <appender name="R1" type="log4net.Appender.RollingFileAppender">
      <file value="C:\Logs\MyService.log" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <maxSizeRollBackups value="10" />
      <datePattern value="yyyyMMdd" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
    </appender>
</log4net>