Question

J'utilise Log4Net avec AdoNetAppender pour consigner les messages d'une simple application systray dans une base de données SQL Server 2005.

Je souhaite consigner le nom de l'ordinateur avec le message de journal, car cette application s'exécutera sur plusieurs ordinateurs et j'ai besoin de savoir sur lequel le message a été généré.

Mais, je ne trouve pas le moyen d'exposer ces informations via le log4net.Layout.PatternLayout que j'utilise avec l'appender.

Existe-t-il un moyen de consigner le nom de la machine via log4net de cette manière?

Était-ce utile?

La solution

Vous pouvez utiliser la propriété pré-renseignée log4net: nom_hôte , par exemple:

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

Ainsi, vous n'avez pas besoin de renseigner le MDC.

Autres conseils

vous pouvez créer un paramètre similaire au suivant:

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

Ajoutez ensuite cette ligne avant d'écrire dans le journal: MDC.Set ("machine", Environment.MachineName);

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top