log4net nicht melden wenn ein .Net 4.0-Windows-Anwendung im Releasemodus
Habe ich eine .Net 4.0-windows-Dienst-Anwendung, die mit log4net.
Hier mein log4net config.
<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 wie erwartet, wenn der Dienst startet während der Verwendung der exe-Datei, die erstellt wurde in den debug-Modus ("log-Dateien werden erstellt, an den richtigen Datei-Pfad), funktioniert aber nicht, wenn es mit der exe gebaut, im release-Modus.
Habe ich versucht, mit einer neu kompiliert log4net dll für .Net 4.0 folgenden die genannten Schritte auf diesem blog.. http://tseonet.blogspot.com/2010/07/making-log4net-run-on-net-40.html.
Aber, das hat nicht funktioniert entweder.
Jede Hilfe wird sehr geschätzt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich schlage vor, schalten Sie die interne debugging, wie hier beschrieben:
log4net - Appenders nicht im IIS7.5
Dank Deepu
hinzufügen [assembly: log4net.Config.XmlConfigurator(Uhr = true)], um die Datei assemblyInfo für mich gearbeitet
Stieß ich auf das gleiche Problem heute und nachdem Sie durch log4net docs Folgendes gemacht und es funktionierte für mich.
Dachte, es wird sich lohnen zu teilen. Unten ist die logger-Klasse, die verwendet log4net als Anbieter
Für mich-assembly-Attribut war nicht eine option, als ich gewickelt logging-Funktionalität in einer separaten assembly, wo log4net war einer der Anbieter.