Pregunta

Estoy usando Log4Net con AdoNetAppender para registrar mensajes desde una aplicación de una simple systray en una base de datos de SQL Server 2005.

Quiero registrar el nombre de la máquina junto con el mensaje de registro porque esta aplicación se ejecutará en varias máquinas y necesito saber en cuál se originó el mensaje.

Pero, no puedo encontrar una manera de exponer esta información a través de log4net.Layout.PatternLayout que estoy usando con el appender.

¿Hay alguna manera de registrar el nombre de la máquina a través de log4net de esta manera?

¿Fue útil?

Solución

Puede usar la propiedad rellenada previamente log4net: HostName , por ejemplo:

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

De esta manera, no es necesario rellenar el MDC.

Otros consejos

puede crear un parámetro similar al siguiente:

<parameter>
  <parameterName value="@machine" />
  <dbType value="String" />
  <size value="255" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%X{machine}" />
  </layout>
</parameter>

Luego agregue esta línea antes de escribir en el registro: MDC.Set (" máquina " ;, Environment.MachineName);

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top