如何在log4net.config中设置自定义值

时间:2014-12-16 10:17:22

标签: c# log4net log4net-configuration log4net-appender

我在另一个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>

1 个答案:

答案 0 :(得分:3)

您可以将全局上下文用于此目的。请参阅this log4net page,它说明了如何设置属性。在您的设置中,您可以使用以下内容:

&#13;
&#13;
<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;
&#13;
&#13;