繁体   English   中英

您如何通过log4net记录计算机名称?

[英]How do you log the machine name via log4net?

我将Log4Net与AdoNetAppender一起使用,以将来自简单systray应用程序的消息记录到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("machine", Environment.MachineName);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM