如何通过log4netlogging机器名称?
我正在使用Log4Net和AdoNetAppender将消息从简单的systray应用程序logging到SQL Server 2005数据库中。
我想logging机器名称和日志消息,因为这个应用程序将运行在多台机器上,我需要知道消息来自哪一个。
但是,我无法find一种方法来通过我使用的appender的log4net.Layout.PatternLayout来公开这些信息。
有没有办法通过log4net以这种方式login机器名?
您可以使用预填充的属性log4net:HostName
,例如:
<conversionPattern value="%property{log4net:HostName}" />
这样你就不需要填充MDC。
您可以创build一个类似于以下的参数:
<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);