Fichier de configuration séparé

Extrayez la configuration de log4net dans un fichier dédié log4net.config, séparé de web.config ; chargez‑la automatiquement grâce à un attribut d’assembly.

1 Créer log4net.config

Placez‑le à la racine du site web

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

  <log4net>
    <!--Enregistrer les journaux dans un fichier txt-->
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <!--Dossier racine des logs : racine site /logs-->
      <param name="File" value="logs\\" />
      <!--Ajouter les nouvelles entrées à la fin du fichier-->
      <param name="AppendToFile" value="true" />
      <!--Conserver au maximum 10 fichiers de sauvegarde-->
      <param name="MaxSizeRollBackups" value="10" />
      <!--Nom de fichier généré dynamiquement selon la date-->
      <param name="StaticLogFileName" value="false" />
      <!--Arborescence logs/yyyy/MM/yyyy‑MM‑dd.log -->
      <param name="DatePattern" value="yyyy\\MM\\yyyy-MM-dd&quot;.log&quot;" />
      <!--Rotation des fichiers de log par date-->
      <param name="RollingStyle" value="Date" />

      <!--Format de sortie des logs-->
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
      </layout>
    </appender>

    <!--Logger racine lié à l’appender-->
    <root>
      <level value="ALL" />
      <appender-ref ref="RollingLogFileAppender" />
    </root>
  </log4net>
</configuration>Langage du code : HTML, XML (xml)

2 Initialiser dans AssemblyInfo.cs

Ouvrez Properties/AssemblyInfo.cs de votre projet, ajoutez ce code à la fin du fichier :

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]Langage du code : JSON / JSON avec commentaires (json)
  • ConfigFile="log4net.config" : chemin du fichier de configuration séparé (racine du site)
  • Watch=true : activation du rechargement à chaud. Les modifications sur log4net.config prennent effet sans redémarrer le site

3 Code d’appel sur la page

using log4net;

public partial class Default : System.Web.UI.Page
{
    // Créer une instance du logger
    public ILog log = LogManager.GetLogger("Logger pour la page Default.aspx");

    protected void Page_Load(object sender, EventArgs e)
    {
        log.Info("Journal standard");
        log.Error("Journal d’erreur");
        log.Debug("Message de débogage");
    }
}

Fichier de configuration séparé

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *