Log4net Konfiguration Fehler
Ich bin mit Log4Net-log-Ausnahmen in meiner web-Anwendung.
Hier habe ich gefunden ein Beispiel für eine Konfiguration: http://www.csharptocsharp.com/log4net-configuration-for-rockin-loggin
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
</configSections>
<log4net>
<!--
This writes the log information to the console window. It only logs events
that are at least at the INFO level (which would mean that DEBUG events are not
captured.
-->
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{ABSOLUTE} [%thread] %level %logger - %message%newlineExtra Info: %property{testProperty}%newline%exception"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="INFO"/>
<levelMax value="FATAL"/>
</filter>
</appender>
<!--
This stores information in the log.txt file. It only captures log events
that contain the key word test or error.
-->
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="L:\Name\trunk\Name.Web\log.txt"/>
<appendToFile value="true"/>
<rollingStyle value="Size"/>
<maxSizeRollBackups value="5"/>
<maximumFileSize value="10MB"/>
<staticLogFileName value="true"/>
<filter type="log4net.Filter.StringMatchFilter">
<stringToMatch value="test"/>
</filter>
<filter type="log4net.Filter.StringMatchFilter">
<stringToMatch value="error"/>
</filter>
<filter type="log4net.Filter.DenyAllFilter"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %level %logger - %message%newline%exception"/>
</layout>
</appender>
<root>
<level value="FATAL"/>
<appender-ref ref="RollingFileAppender"/>
</root>
<logger name="Log4NetTest.OtherClass">
<level value="DEBUG"/>
<appender-ref ref="ConsoleAppender"/>
</logger>
</log4net>
</configuration>
In meiner Klasse habe ich:
protected static readonly ILog log = LogManager.GetLogger(typeof(TemplateController));
und in meiner Methode habe ich:
log4net.Config.XmlConfigurator.Configure();
//————————–
log.Error("sadi the great");
log.Info("sadi the great");
aber ich habe ein Fehler:
Bitte poste den vollständigen Inhalt der aktuellen Konfigurationsdatei. Die fragement(?) Sie zeigen sicherlich ist ungültiges XML. Beachten Sie auch, dass die Ursache tatsächlich in der gezeigten Bildschirm ("Root element is missing").
Ich aktualisiert meine Frage
Sie haben nicht wirklich die
Ja) ich habe es in meiner Klasse
All dies scheint sehr seltsam für mich, als ich war in der Lage, nutzen Sie Ihre config-Datei und Ihre Art und Weise der Protokollierung erfolgreich erstellt eine log-Datei mit den Fehler-und info-Meldungen. Als erstes würde ich empfehlen ein upgrade log4net auf die neueste version. Dann würde ich empfehlen die Verwendung von log4net internen debug-Ablaufverfolgung, um herauszufinden, das problem (Sie können die trace in Ihrer Frage auch wenn Sie selbst nicht in der Lage, um herauszufinden, die Ursache). logging.apache.org/log4net/release/faq.html (zu Lesen Wie aktiviere ich log4net interne debugging -?)
Ich aktualisiert meine Frage
Sie haben nicht wirklich die
protected static readonly ILog log = Log...
Teil in Ihrer Konfigurationsdatei haben Sie?Ja) ich habe es in meiner Klasse
All dies scheint sehr seltsam für mich, als ich war in der Lage, nutzen Sie Ihre config-Datei und Ihre Art und Weise der Protokollierung erfolgreich erstellt eine log-Datei mit den Fehler-und info-Meldungen. Als erstes würde ich empfehlen ein upgrade log4net auf die neueste version. Dann würde ich empfehlen die Verwendung von log4net internen debug-Ablaufverfolgung, um herauszufinden, das problem (Sie können die trace in Ihrer Frage auch wenn Sie selbst nicht in der Lage, um herauszufinden, die Ursache). logging.apache.org/log4net/release/faq.html (zu Lesen Wie aktiviere ich log4net interne debugging -?)
InformationsquelleAutor revolutionkpi | 2012-08-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einer funktionierenden Konfiguration für Rolling File appender ist wie folgt:
und ändern Sie Ihre Ziel-framework ".net framework 4" (standardmäßig anders ist es in meinem Fall)
probiert dies wird nützlich sein,
es ist immer noch dieser Fehler
Sie überprüft Ihre Ziel-framework?
wo soll ich es überprüfen? Ich benutze net framework 4
mit Project-><solution_name>Eigenschaften (mit vs2010)
InformationsquelleAutor Prasad
In AppConfig-Datei verwenden
verwenden
IN <param name="File" value="BackgroundCheckLog/BackgroundCheckLog.log" /> Wert ändern Feld wo "BackgroundCheckLog" dies ist das aktuelle Verzeichnis und "BackgroundCheckLog.log" Datei-Namen, legen Sie diese und versuchen Sie, diese arbeiten perfekt für mich
InformationsquelleAutor Irfan Ali
Stellen Sie sicher, Sie haben
[assembly: log4net.Config.XmlConfigurator]
aufgelistet in der AssemblyInfo.csHabe ich gefunden, ohne das hinzufügen dieser Zeile alles scheint zu funktionieren mit Log4Net, aber nichts wird protokolliert.
-Bearbeiten-
Dies ist mein Log4Net Konfiguration. Ich benutze eine farbige Konsole-appender, sowie ein rolling file appender.
Besondere Aufmerksamkeit zu widmen, wie meine root-element aufgeführt ist - ich denke, dass deine config-Datei ein Problem kann es werden.
Versuchen meine config und sehen, ob es für Sie arbeitet. Wenn es dann immer noch nicht funktioniert gibt es andere Probleme, die angegangen werden müssen.
siehe Beitrag: stackoverflow.com/questions/3898218/log4net-not-working wo Kirk Woll-Staaten: "Eine gotcha für diese Art der Sache ist, stellen Sie sicher, dass Sie die XmlConfigurator-Attribut der assembly, indem Sie die folgende Zeile in Ihre AssemblyInfo.cs:
[assembly: log4net.Config.XmlConfigurator]
Sonst log4net nie aktiviert." Es hat für mich gearbeitet, zusammen mit, dass die akzeptierte Antwort mit 33 upvotes. Ich denke, ich kann sagen, dass es richtig ist.Dies versuche ich, aber meine log-Datei ist immer noch leer
Können Sie aktualisieren Sie Ihre Frage mit der vollständigen app.config-Datei, und wenn Sie nach anderen Vorschlägen die config-Datei für Ihr log4net-Datei?
Ich aktualisiert meine Frage
InformationsquelleAutor Robert H