我在另一个dll中有一个自定义appender 我想在log4net.config文件中设置一个值“Element.MachineName”。
它使用静态值,如:<appName ="SomeName" />
,但如何使用Element.MachineName设置此值?
<appender name="SomeAppender" type="ConsoleApplication1.SomeAppender">
<appName value="someName"/>
<host value="how to set the host to this variable?" />
<layout type="log4net.Layout.LayoutPattern">
<conversionPattern value="[%date{MM/dd/yyyy hh:mm:ss tt}] %property{HostName} [%-5level] [%class]-[%method] - [%message] %newline" />
</layout>
</appender>
答案 0 :(得分:3)
您可以将全局上下文用于此目的。请参阅this log4net page,它说明了如何设置属性。在您的设置中,您可以使用以下内容:
<appender name="SomeAppender" type="ConsoleApplication1.SomeAppender">
<file value="Log\Sessions\%property{LogFileName}.log" />
<maxFiles value="1000" />
<layout type="log4net.Layout.PatternLayout" value="%date %-5level - %message%newline" />
</appender>
&#13;