3

これは私の構成です:

<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="log4net"
       type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>

  <log4net>
    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
      <param name="File" value="Logs\StubLog.txt" />
      <param name="AppendToFile" value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="Header" value="[Header]&#13;&#10;" />
        <param name="Footer" value="[Footer]&#13;&#10;&#13;&#10;" />
        <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" />
      </layout>
    </appender>

    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
      <layout type="log4net.Layout.PatternLayout">
        <param name="Header" value="[Header]\n" />
        <param name="Footer" value="[Footer]\n\n" />
        <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" />
      </layout>
    </appender>

    <root>
      <level value="DEBUG" />
      <appender-ref ref="LogFileAppender" />
      <appender-ref ref="ConsoleAppender" />
    </root>
    <logger name="NHibernate">
      <level value="WARN" />
    </logger>
  </log4net>

  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
</configuration>

そして、ここにログがあります:

[Header]
[Footer]

[Header]
2012-10-04 14:22:01,203 [1] INFO  Stub.Program Enter application
2012-10-04 14:22:01,328 [1] DEBUG Stub.FrmMain Test
2012-10-04 14:22:03,265 [1] INFO  Stub.Program Exit application
[Footer]

ヘッダー/フッターの最初のペアはどこから来るのですか? それらを排除できますか?

4

1 に答える 1

4

XmlConfigurator.Configure() を複数の場所に配置すると、ヘッダーとフッターのペアが複数になる場合があります。

XmlConfigurator.Configure() は、ソリューション内の 1 か所でのみ定義する必要があります。より良いアプローチは、AssemblyInfo.cs に配置することです

于 2012-11-09T05:46:53.297 に答える