Was mache ich falsch mit diesem log4net Umsetzung?
Wie viele andere auch, bin ich versucht zu implementieren Log4net in meine C#.net Anwendung und ich kann einfach nicht bekommen es für mich arbeiten. Ich habe eine Menge Suche (auch auf dieser Website) und habe versucht, viele verschiedene Lösungen, aber nichts hat für mich gearbeitet doch. Also die einfache Frage: Was mache ich falsch???
Montage.cs die folgende Zeile enthält.
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
App.config enthält die folgenden.
<configSections>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
<root>
<level value="ALL"/>
<appender-ref value="RollingFileAppender"/>
<appender-ref value="ConsoleAppender"/>
</root>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="C:\Temp\Minion.log" />
<appendToFile value="true" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="5" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{Y-m-d H:i:s.u} | %thread | %method | %level | %message%newline" />
</layout>
</appender>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
<layout type="log4net.Layout.PatternLayout">
<param name="Header" value="[Header]\r\n" />
<param name="Footer" value="[Footer]\r\n" />
<param name="ConversionPattern" value="%date{Y-m-d H:i:s.u} | %thread | %method | %level | %message%newline" />
</layout>
</appender>
</log4net>
Mein code enthält die folgenden am Anfang der Klasse.
private static readonly ILog logger =
LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
Und diese tests am Anfang der main-Funktion.
logger.Debug("test1");
logger.Info("test2");
logger.Warn("test3");
logger.Error("test4");
logger.Fatal("test5");
EDIT:
Einen Tipp führte zu folgendem Fehler während log4net initializaiton.
log4net:ERROR XmlHierarchyConfigurator: No appender named [] could be found.
log4net:ERROR Appender named [] not found.
log4net:ERROR XmlHierarchyConfigurator: No appender named [] could be found.
log4net:ERROR Appender named [] not found.
- Haben Sie sah stackoverflow.com/questions/756125/...?
- Als ein beiseite, ich empfohlen, vor der Verwendung die
[XmlConfigurator]
Attribut, da dies macht es nicht klar, wenn log4net initialisiert-und es hat die unangenehme Angewohnheit, nicht immer funktioniert (in ASP.NET Websites, zum Beispiel). Stattdessen rufenXmlConfigurator.ConfigureAndWatch(new FileInfo(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile))
ausdrücklich von IhremMain()
. - Hast du versucht anzurufen
XmlConfigurator.Configure()
? - Jeroen: Gah. Ja, hatte ich, aber ich hatte ein Tippfehler vor. In dieser Zeit-ich habe nämlich eine log-Datei zu überprüfen. Danke für die Eingebung, einen zweiten Schuss. Gebe ich dies ein vorbei schauen und Bericht erstatten.
- Die Formatierung ist furchtbar. Bearbeitet die main-post mit den neuen Infos.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ändern:
zu diesem:
Und sehen, ob es nicht besser zusammenzuarbeiten.
Ich hatte das problem und war es denn im root hatte ich zwei Verweise und code-ich war einfach aufrufen. Beispiel:
In diesem Fall, ich geben den Fehler. Löschen Sie einen der root-Referenzen und versuchen Sie es erneut. Wie diese