log4net nicht schauen Sie sich meine app.config

Konfiguriert habe log4net zu beobachten, auf änderungen an der app.config-Datei.

[assembly: log4net.Config.XmlConfigurator(Watch = true)]

Wenn ich meine app, und ändern Sie Dinge in der config-Datei werden diese änderungen nur wirksam, wenn ich neu starten meine app. Warum könnte dies sein?

Ist es auch ein Weg, zu sagen, log4net zu beobachten, auf änderungen in der app.config? Wie:

<appender name="FileAppender" type="log4net.Appender.FileAppender" >
    <watch value="true" />
</appender>

------------- BEARBEITEN -------------

Versuchte ich nun eine separate config-Datei: log4net.config.
Es sieht wie folgt aus:

<log4net>
  <appender name="FileAppender" type="log4net.Appender.FileAppender">
    <file value="c:\log.txt" />
    <appendToFile value="true" />
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%d [%t] %-5p %c (line %L) -- %m%n" />
    </layout>
  </appender>
  <root>
    <appender-ref ref="FileAppender" />
  </root>
</log4net>

In meine assemblyInfo.cs schrieb ich Folgendes:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]

Die Klasse, die Protokolle der Datei sieht wie folgt aus:

ILog myLogger = LogManager.GetLogger(typeof(Form1));
myLogger.Debug("test");

Diese funktioniert wie die alte version. logfile-Einträge werden gemacht, aber wenn ich meine log4net.config während der Laufzeit werden diese änderungen nicht übernommen.... "Watch=true" sollte diese Funktion aktivieren, richtig?

InformationsquelleAutor Fabian | 2011-10-19

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.