Dies ist mein erster Versuch, Logging, und ich habe ähnliche Fragen recherchiert, aber kann nicht meine Situation herausfinden, wahrscheinlich, weil ich keine Fehler bekomme, von zu gehen.Log4Net erstellt keine TXT-Datei?
Ich versuche Log4Net zu verwenden, um einfach eine TXT-Datei zu erstellen. Ich habe keine web.config oder app.config, also habe ich meine eigene Konfigurationsdatei erstellt, um Log4Net einzurichten (Durch Nachforschung fand ich, dass ich das tun könnte). Die Konfigurationsdatei ist unten:
log4net.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net debug="true">
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\myFolder\TestLog.txt" />//******Nothing Is Being Created Here****
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %level %logger - %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>
</configuration>
In meinem AssemblyInfo.cs
[assembly: log4net.Config.XmlConfigurator(ConfigFile =
"Log4Net.config", Watch = true)]
Und der Anruf an den Logger
....
private static readonly ILog logger = LogManager.GetLogger("ExportLogger");
....
log4net.Config.XmlConfigurator.Configure();//I know this shouldnt be done here, just testing
logger.Debug("Successfully logged something");
Der obige Code alle Läufe ohne Fehler, also bin ich mir nicht sicher, wo mein Fehler ist. Ich vermute, dass ich die Konfiguration falsch konfiguriert habe. Kann jemand sehen, was ich falsch mache und warum es keine Erstellung der .txt-Datei gibt?
Scheck Schreibzugriffsrechte von Anwendungspool Benutzer in den Ordner ‚C: \ myFolder‘ – Sergey
Unter der Annahme, es ist nicht nur Berechtigungen - wie Sie ein eigenständiges log4net verwenden sind Konfigurationsdatei, sollten Sie wahrscheinlich die '' und '' Elemente entfernen, da sie nur für app/web.config Dateien gelten. Verwenden Sie auch die Überladung von 'log4net.Config.XmlConfigurator.Configure()', mit der Sie diese Datei übergeben können. Sie können 'LogManager.GetRepository(). Configured 'prüfen, um zu sehen, ob die Konfiguration geladen wurde. Wenn es immer noch nicht funktioniert, [fügen Sie einen Trace-Listener zur Debug-Ausgabe hinzu] (http://haacked.com/archive/2006/09/27/Log4Net_Troubleshooting.aspx/) –
stuartd
Haben Sie sichergestellt, dass die log4net.dll ist im Verzeichnis bin verfügbar? –