log4netにはデフォルトでプロセス番号をログに出すようなパターン名が無い。
log4netのプロパティを用いて出力することとなる。
まず、ログを初めて出力する行より前の領域にて、log4netのプロパティにプロセス番号を設定する。
ここでは、pid
をキーとしてプロセス番号を設定する。
static void Main()
{
// プロセス番号をlog4netのプロパティに設定する。
// このプロパティをログ出力設定ファイルにて指定する。
log4net.GlobalContext.Properties["pid"] = System.Diagnostics.Process.GetCurrentProcess().Id;
logger.Info("Program starts");
ログ出力設定ファイルにて、パターン名%property
(%P
も可)にて、上で設定したキーを指定する。
log4net.xml(抜粋)
<ConversionPattern value="%date [%property{pid}] [%-5level] (%method) - %message%n" />
出力例
2015-03-20 19:24:01,990 [5288] [INFO ] (Main) - Program starts
- 5288がプロセス番号