Подтвердить что ты не робот

Как вы регистрируете имя машины через log4net?

Я использую Log4Net с AdoNetAppender для регистрации сообщений из простого приложения systray в базу данных SQL Server 2005.

Я хочу записать имя машины вместе с сообщением журнала, потому что это приложение будет работать на нескольких компьютерах, и мне нужно знать, на каком из них возникло сообщение.

Но я не могу найти способ разоблачить эту информацию через log4net.Layout.PatternLayout, который я использую с помощью приложения.

Есть ли способ зарегистрировать имя машины через log4net таким образом?

4b9b3361

Ответ 1

Вы можете использовать предварительно заполненное свойство log4net:HostName, например:

<conversionPattern value="%property{log4net:HostName}" />

Таким образом, вам не нужно заполнять MDC.

Ответ 2

вы можете создать параметр, аналогичный следующему:

<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);