log4net protokolliert nicht, wenn eine .Net 4.0-Windows-Anwendung ausgeführt wird, die im Release-Modus erstellt wurde.

Ich habe eine .Net 4.0-Windows-Dienstanwendung, die log4net verwendet.

Hier ist meine log4net Konfiguration.

<log4net>
  <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level %logger [%property{Context}] - %message%newline" />
    </layout>
  </appender>

  <appender name="ColorConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
    <mapping>
      <level value="ERROR" />
      <foreColor value="Red, HighIntensity" />
    </mapping>
    <mapping>
      <level value="FATAL" />
      <foreColor value="Red, HighIntensity" />
    </mapping>
    <mapping>
      <level value="WARN" />
      <foreColor value="Blue, HighIntensity" />
    </mapping>
    <mapping>
      <level value="INFO" />
      <forecolor value="White, HighIntensity" />
    </mapping>
    <mapping>
      <level value="DEBUG" />
      <forecolor value="Green, HighIntensity" />
    </mapping>
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level %logger [%property{Context}] - %message%newline" />
    </layout>
  </appender>

  <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
    <appendToFile value="true" />
    <datePattern value="yyyyMMdd" />
    <file value="Logs/Server.log" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level %logger [%property{Context}] - %message%newline" />
    </layout>
    <maximumFileSize value="10MB" />
    <rollingStyle value="Composite" />
    <staticLogFileName value="true" />
  </appender>

  <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level %logger [%property{Context}] - %message%newline" />
    </layout>
  </appender>

  <root>
    <level value="ALL" />
    <appender-ref ref="ColorConsoleAppender" />
    <appender-ref ref="RollingFileAppender" />
  </root>

</log4net>

Logging funktioniert erwartungsgemäß, wenn der Dienst mit der im Debug-Modus erstellten Exe gestartet wird (Protokolldateien werden im richtigen Dateipfad erstellt), funktioniert jedoch nicht, wenn die im Release-Modus erstellte Exe verwendet wird.

Ich habe versucht, eine neu kompilierte log4net-DLL für .Net 4.0 zu verwenden. Befolgen Sie dazu die in diesem Blog genannten Schritte.http: //tseonet.blogspot.com/2010/07/making-log4net-run-on-net-40.htm.

Aber das hat auch nicht funktioniert.

Jede Hilfe wird sehr geschätzt.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage