C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: log4netを使ってプロセスIDを出力したい


(過去ログ 54 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■29956 / inTopicNo.1)  log4netを使ってプロセスIDを出力したい
  
□投稿者/ りお (32回)-(2008/12/17(Wed) 00:15:40)

分類:[C#] 

開発環境
VS2005のC#、log4net バージョン1.2.10

タイトルの通りですがlog4netを使ってプロセスIDを出力したいです。

@ITサイトで紹介されている「表2 ログ出力時の変換パターン一覧」にはプロセスIDがありません。
http://www.atmarkit.co.jp/fdotnet/vblab/extcompo_01/log4net_03.html

掲載されていないので通常は出力できないのでしょうか?
できれば折角log4netを用いているのでソースコードの修正を行わず、log4netのアペンダ修正だけで
プロセスID出力を実現したいです。
よろしくお願いします。
引用返信 編集キー/
■29959 / inTopicNo.2)  Re[1]: log4netを使ってプロセスIDを出力したい
□投稿者/ なちゃ (228回)-(2008/12/17(Wed) 01:09:19)
細かく調べてませんが、どうも標準機能ではないようですね。

若干のソース修正(AP起動時に一度だけ実行する処理を追加かな?)が必要になりますが、
http://www.mail-archive.com/log4net-dev@logging.apache.org/msg00862.html
のような方法があるようです。
ソース修正といっても、例えばMainに一行追加するだけ程度と思われます。

もし式評価なんかの機能があればソース修正不要でもできるかもしれませんが、
そういうのが本当にあるのかは知りません。

引用返信 編集キー/
■30195 / inTopicNo.3)  Re[2]: log4netを使ってプロセスIDを出力したい
□投稿者/ りお (33回)-(2008/12/18(Thu) 23:03:08)
なちゃさん返信ありがとうございます。

Mainに1行追加するだけで出来ました。ありがとうございました!

手順を残しておきます。
1.ソースコードのメインに追加(開始に記述)
  log4net.GlobalContext.Properties["pid"] = System.Diagnostics.Process.GetCurrentProcess().Id;

2.log4netの設定ファイルに追加
  [%property{pid}] ←出力したい箇所にこれを追加

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -