log4net経由でマシン名をどのように記録しますか?
質問
Log4NetとAdoNetAppenderを使用して、単純なシステムトレイアプリケーションからSQL Server 2005データベースにメッセージを記録しています。
このアプリケーションは複数のマシンで実行され、メッセージの発信元を知る必要があるため、ログメッセージとともにマシン名を記録したい。
しかし、アペンダーで使用している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(&quot; machine&quot ;, Environment.MachineName);
所属していません StackOverflow