Log4NetとAdoNetAppenderを使用して、単純なsystrayアプリケーションからSQL Server2005データベースにメッセージを記録しています。
このアプリケーションは複数のマシンで実行され、メッセージの発信元を知る必要があるため、ログメッセージと一緒にマシン名をログに記録したいと思います。
しかし、アペンダーで使用しているlog4net.Layout.PatternLayoutを介してこの情報を公開する方法が見つかりません。
この方法でlog4netを介してマシン名をログに記録する方法はありますか?
事前入力されたプロパティlog4net:HostName
を使用できます。次に例を示します。
<conversionPattern value="%property{log4net:HostName}" />
この方法では、MDCにデータを入力する必要はありません。
次のようなパラメータを作成できます。
_<parameter>
<parameterName value="@machine" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%X{machine}" />
</layout>
</parameter>
_
次に、ログに書き込む前に次の行を追加します:MDC.Set("machine", Environment.MachineName);