Ich verstehe, warum log4net app.config
Dateien zum Einrichten der Protokollierung verwendet. So können Sie die Protokollierung von Informationen leicht ändern, ohne Ihren Code neu kompilieren zu müssen. In meinem Fall möchte ich jedoch keine app.config
Datei mit meiner ausführbaren Datei packen . Und ich habe keine Lust, mein Protokollierungssetup zu ändern.
Gibt es eine Möglichkeit für mich, den Anmeldecode einzurichten, anstatt den zu verwenden app.config
?
Hier ist meine einfache Konfigurationsdatei:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="Logs\EventLog.txt" />
<appendToFile value="false" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="5" />
<maximumFileSize value="1GB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
</layout>
</appender>
<appender name="MemoryAppender" type="log4net.Appender.MemoryAppender">
</appender>
<root>
<level value="Info" />
<appender-ref ref="RollingLogFileAppender" />
<appender-ref ref="MemoryAppender" />
</root>
</log4net>
</configuration>
BEARBEITEN:
Um ganz klar zu sein: Es ist mein Ziel, keine XML-Datei zu haben. Nicht einmal als eingebettete Ressource, die ich in einen Stream verwandle. Mein Ziel war es, den Logger vollständig programmgesteuert zu definieren. Nur neugierig, ob es möglich ist und wenn ja, wo ich ein Beispiel für die Syntax finden könnte.