Archivo de configuración independiente

Extrae la configuración de log4net a un archivo independiente log4net.config, separado de web.config; carga la configuración de forma automática mediante un atributo de ensamblado.

1 Crear log4net.config

Colócalo en el directorio raíz del sitio web

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

  <log4net>
    <!--Guardar registros en archivo txt-->
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <!--Ruta raíz de logs: raíz sitio /logs-->
      <param name="File" value="logs\\" />
      <!--Añadir contenido al final del archivo-->
      <param name="AppendToFile" value="true" />
      <!--Mantener máximo 10 archivos de copia de seguridad-->
      <param name="MaxSizeRollBackups" value="10" />
      <!--Nombre de archivo generado dinámicamente por fecha-->
      <param name="StaticLogFileName" value="false" />
      <!--Estructura de carpetas logs/yyyy/MM/yyyy‑MM‑dd.log -->
      <param name="DatePattern" value="yyyy\\MM\\yyyy-MM-dd&quot;.log&quot;" />
      <!--Rotación de ficheros de log por fecha-->
      <param name="RollingStyle" value="Date" />

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

    <!--Logger raíz vinculado al appender-->
    <root>
      <level value="ALL" />
      <appender-ref ref="RollingLogFileAppender" />
    </root>
  </log4net>
</configuration>Lenguaje del código: HTML, XML (xml)

2 Inicializar en AssemblyInfo.cs

Abre Properties/AssemblyInfo.cs de tu proyecto y agrega este código al final del archivo:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]Lenguaje del código: JSON / JSON con comentarios (json)
  • ConfigFile="log4net.config":Ruta del archivo de configuración independiente (directorio raíz del sitio)
  • Watch=true:Habilitar recarga en caliente. Los cambios en log4net.config surten efecto sin reiniciar el sitio web

3 Código de llamada en la página

using log4net;

public partial class Default : System.Web.UI.Page
{
    // Crear instancia del logger
    public ILog log = LogManager.GetLogger("Registrador para la página Default.aspx");

    protected void Page_Load(object sender, EventArgs e)
    {
        log.Info("Registro normal");
        log.Error("Registro de error");
        log.Debug("Mensaje de depuración");
    }
}

Archivo de configuración independiente

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *