0

我在另一个 dll 中有一个自定义附加程序,我想在 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>
4

1 回答 1

3

您可以为此目的使用全局上下文。请参阅此 log4net 页面,它解释了如何设置属性。在您的设置中,您可以使用以下内容:

<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>

于 2014-12-16T10:48:05.017 回答