Ich habe eine einfache C# -Anwendung, die ich auf einer Windows-Plattform oder einer Linux-Plattform (CentOS 7) mit Mono 4.2.3.4/832de4b ausführen kann.Log4Net mit Mono fehlt Dateiname und Zeilennummern
Wenn ich versuche, etwas zu protokollieren Log4Net mit 2.0.5 auf einem Windows-Rechner ich die folgende Ausgabe ein RollingFileAppender erhalten mit:
2016-03-24 09:09:40,374 DEBUG 8 C:\src\Test\Program.cs::20::This is my debug message.
2016-03-24 09:09:40,397 INFO 8 C:\src\Test\Program.cs::21::This is my info message.
2016-03-24 09:09:40,398 WARN 8 C:\src\Test\Program.cs::22::This is my warning message.
2016-03-24 09:09:40,398 FATAL 8 C:\src\Test\Program.cs::23::This is my fatal message.
2016-03-24 09:09:40,399 ERROR 8 C:\src\Test\Program.cs::24::This is my error message.
Wenn ich das über auf eine Linux-Box kopieren und ausführen mono mit mir Folgendes:
2016-03-24 09:58:58,913 DEBUG 1 ::0::This is my debug message.
2016-03-24 09:58:58,920 INFO 1 ::0::This is my info message.
2016-03-24 09:58:58,920 WARN 1 ::0::This is my warning message.
2016-03-24 09:58:58,923 FATAL 1 ::0::This is my fatal message.
2016-03-24 09:58:58,923 ERROR 1 ::0::This is my error message.
Warum fehlen mir der Dateiname und die Zeilennummern aus meiner Ausgabe? Idealerweise möchte ich, dass dies mit rsyslog funktioniert, aber im Moment versuche ich, dass meine einfache App korrekt funktioniert.
HINWEIS: Ich habe eine Wrapper-Klasse um log4net, die ich mit den Informationen von here implementiert habe.
Die RollingFileAppender Config sieht wie folgt aus:
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="test_logfile.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="50MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level %thread %file::%line::%message%newline" />
</layout>
</appender>