Ich führe Visual Studio 2008 aus - und habe ein Problem mit log4net Logging (v1.2.10). Ich habe ein kleines Konsolen-Testprogramm mit einer einzigen Protokollanweisung. Ich habe log4net für RollingLogFileAppender und ConsoleAppender konfiguriert.log4net loggt nur, wenn es im Debugger von Visual Studio ausgeführt wird
Wenn ich die kompilierte exe von der Befehlszeile ausführen, sehe ich die korrekte Erstellung der Protokolldatei in meinem Laufzeitverzeichnis. Die Protokolldatei wird erstellt (oder angehängt, wenn sie existiert), aber die einzige Ausgabe ist die konfigurierte [Kopfzeile] und [Fußzeile]. Es gibt keine Ausgabe an die Konsole.
Jedoch, wenn ich unter dem Debugger ausgeführt werde, wird die Protokollmeldung sowohl in der Protokolldatei als auch auf der Konsole angezeigt. Folgende ist meine log4net-Konfiguration:
<log4net>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout" value="%date [%thread] %-5level %logger - %message%newline" />
</appender>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="quicktest-log-" />
<appendToFile value="true" />
<immediateFlush value="true" />
<datepattern value="yyyy-MM-dd" />
<maxSizeRollBackups value="100" />
<maximumFileSize value="1048576" />
<rollingStyle value="Composite" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<header value="[Begin Quicktest program log] " />
<footer value="[End Quicktest program log] " />
<conversionPattern value="%date{HH:mm:ss} [%thread] %-5level %logger: %message%newline" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>
+1 für mich in der Antwort auf seine eigene Frage lachen –