Separate Konfigurationsdatei

Lagern Sie die log4net‑Einstellungen in eine separate Datei log4net.config aus, getrennt von web.config. Laden Sie die Konfiguration automatisch über ein Assembly‑Attribut.

1 log4net.config erstellen

Legen Sie die Datei im Web‑Stammverzeichnis ab

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>

  <log4net>
    <!--Protokolle in eine TXT‑Datei schreiben-->
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <!--Protokoll‑Wurzelordner: Web‑Stammverzeichnis/logs-->
      <param name="File" value="logs\\" />
      <!--An Datei anhängen statt überschreiben-->
      <param name="AppendToFile" value="true" />
      <!--Maximal 10 Sicherungsdateien behalten-->
      <param name="MaxSizeRollBackups" value="10" />
      <!--Dateiname wird anhand Datum erzeugt-->
      <param name="StaticLogFileName" value="false" />
      <!--Ordnerstruktur logs/yyyy/MM/yyyy‑MM‑dd.log -->
      <param name="DatePattern" value="yyyy\\MM\\yyyy-MM-dd&quot;.log&quot;" />
      <!--Protokolldateien nach Datum rotieren-->
      <param name="RollingStyle" value="Date" />

      <!--Ausgabeformat der Protokollzeilen-->
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
      </layout>
    </appender>

    <!--Root‑Logger mit dem Appender verbinden-->
    <root>
      <level value="ALL" />
      <appender-ref ref="RollingLogFileAppender" />
    </root>
  </log4net>
</configuration>Code-Sprache: HTML, XML (xml)

2 Initialisierung in AssemblyInfo.cs

Öffnen Sie im Projekt die Datei Properties/AssemblyInfo.cs und fügen Sie am Dateiende folgenden Code ein:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]Code-Sprache: JSON / JSON mit Kommentaren (json)
  • ConfigFile="log4net.config" : Pfad zur separaten Konfigurationsdatei (Web‑Stammverzeichnis)
  • Watch=true : Hot‑Reload aktivieren. Änderungen an log4net.config wirken sich ohne Website‑Neustart sofort aus

3 Aufrufcode auf der Webseite

using log4net;

public partial class Default : System.Web.UI.Page
{
    // Logger‑Instanz erstellen
    public ILog log = LogManager.GetLogger("Logger für Default.aspx‑Seite");

    protected void Page_Load(object sender, EventArgs e)
    {
        log.Info("Normale Protokollmeldung");
        log.Error("Fehlerprotokoll");
        log.Debug("Debug‑Information");
    }
}

Separate Konfigurationsdatei

Schreibe einen Kommentar

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