Ich versuche log4net einzurichten, aber ich kann es nicht funktioniert Ich habe in meinem Web.config setzen:Ich kann nicht log4net Arbeit in meiner Web-Anwendung machen :(
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<appender name="TraceAppender" type="log4net.Appender.TraceAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logfile.log" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<maxSizeRollBackups value="14" />
<maximumFileSize value="15000KB" />
<datePattern value="yyyyMMdd" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="RollingFileAppender" />
<appender-ref ref="TraceAppender" />
</root>
</log4net>
Dann in ich meinen Code ausführen:..
log4net.Config.XmlConfigurator.Configure(new FileInfo(HttpContext.Current.Server.MapPath("~/Web.config")));
ILog log = LogManager.GetLogger("MainLogger");
if (log.IsDebugEnabled)
log.Debug("lalala");
Aber es passiert nichts ich habe die „log“ Variable, und es enthält eine LogImpl Objekt, das alle Protokollebenen aktiviert hat ich keine Fehler oder Konfigurationswarnung erhalten, kann ich nicht sehen, jede Datei im Stammverzeichnis, im Papierkorb oder an anderer Stelle
Was muss ich tun, damit es funktioniert?
Wenn Sie dies in Visual Studio debuggen können, überprüfen Sie das Ausgabefenster, wenn Sie Ihre App Brände. log4net gibt dort Informationen über Konfigurationsfehler aus. –
Haben Sie versucht, einen absoluten Pfad für die Eigenschaft 'file' zu setzen? (z. B. 'C: \ logfile.log') –
Zusätzlich zu den untenstehenden ausgezeichneten Antworten sollten Sie Configure nur einmal für die gesamte Lebensdauer des App-Prozesses anrufen, z. in Anwendungsstart in Global.asax. –