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 rufen XmlConfigurator.ConfigureAndWatch(new FileInfo(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile)) ausdrücklich von Ihrem Main().
  • 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.
InformationsquelleAutor Lodra | 2014-10-21
Schreibe einen Kommentar