私たちのアプリケーションでは、通常、作成するスレッドの名前を付けます。たとえば、スレッドを作成し、「WorkerThread」のような名前を付けます。Log4Netは "ThreadID"と "Thread Name"をログに出力します
のは、これが私のlog4netの設定ファイルの一部であるとしましょう:
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="C:\Logs\MyApp\myapp.log" />
<param name="AppendToFile" value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="5" />
<maximumFileSize value="1000MB" />
<staticLogFileName value="true" />
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="DEBUG" />
<levelMax value="FATAL" />
</filter>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c :: %m%n" />
</layout>
</appender>
この構成で私のログに次のように出力されます:
2017-03-07 17:00:00,003 [MessagePump Worker] DEBUG MyApp.App :: Blah Blah Blah
私は印刷にそれを希望:
2017-03-07 17:00:00,003 [MessagePump Worker: 2380] DEBUG MyApp.App :: Blah Blah Blah
私は、スレッドパターンを含めるためにコンバートパターンに入れなければならないものを理解しようとしています(2380)上記の例のように。私はいくつかのGoogleの検索を行っているが、私は両方の "スレッド名"と "スレッドID"を印刷する方法を見つけるように見えることができません。誰にでもアイデアはありますか?アプリケーションのスレッドの使用で
[NLogを検討する](https://github.com/nlog/nlog/wiki/Layout-RendererNets) –
カスタムロガーラッパーを作成し、手動でThreadIDを追加することはできますか? https://logging.apache.org/log4net/release/example-apps.html ここでは、log4netをカスタムEventIDで拡張する方法について説明します。私はこのメソッドを使用して、EventIDの代わりにThreadIDを追加することができると思います。 –
それは私がカスタム 'ConversionPattern'を必要としているかのようです。 – Denis