[英]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.