Configuración Log4Net (I)

Log4Net es una libreria de logeo que nos permite logear facilmente mensajes de nuestras aplicaciones a diferentes tipos de almacenamiento. Por ejemplo: ficheros de texto, MS SQL, Oracle, SQL Lite, SMTP, etc. Puedes echar un vistazo a la lista completa en el sitio de Log4Net

Si logear los errores es facil, quizas configurar el funcionamiento no lo es tanto. Hay muchas opciones a tener en cuenta y puede llevarnos un rato el configurarlo correctamente. En este primer articulo intentare comentar una forma sencilla de ponerlo a funcionar.

Que nos hace falta?

Simplemente descargar la libreria del sitio web: Log4Net. Despues simplemente se descomprime a una carpeta de nuestro gusto. Lo mas recomendable es crear una carpeta llamada «Lib» dentro del proyecto en la que tener todas las librerias de terceros que usemos en nuestros proyectos.

Creacion del proyecto

Vamos a crear un proyecto web para este ejemplo.

  • Una vez creado añadimos la referencia a log4net.
  • Comprobamos que la opcion «Copy Local» tiene valor true.
  • Creamos un archivo de configuracion y añadimos la siguiente linea:
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  • A continuacion de la seccion configsection se añadira el siguiente codigo:
    <log4net>
      <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
        <file value="aplicacion.log" />
        <appendToFile value="true" />
        <maximumFileSize value="1024KB" />
        <maxSizeRollBackups value="10" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%date %level %logger - %message%newline" />
        </layout>
      </appender>
      <root>
        <level value="ALL" />
        <appender-ref ref="RollingFile" />
      </root>
    </log4net>
  • En este codigo indicamos diversas cosas como que el tipo de log a escribir, que sera un fichero, el nombre del fichero, su tamaño maximo, si se concatenan los mensajes en el fichero o se crea uno nuevo, el numero maximo de ficheros a crear y la estructura que tendran los mensajes.

  • Ya tendriamos configurado todo y solo quedaria usarlo en el codigo. Bastaria con usar unas lineas de codigo:
using log4net;
namespace Log4NetTest
{
    public partial class Prueba : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                log4net.Config.XmlConfigurator.Configure();
                ILog log = LogManager.GetLogger(typeof(Prueba));
               log.Debug("Probando Log4Net");
            }
            catch (Exception ex)
            {
                throw;
            }
        }
    }
}

Con la primera linea cargamos la configuracion de Log4Net, la segunda crea el objeto para registrar los mensajes y la tercera es la encargada de registrar el mensaje deseado. La primera linea es mejor que se ponga en el global.asax en el evento aplication_load para que se cargue la configuracion cada vez que se arranque la aplicacion. Asi mismo la segunda es recomendable crear como variable global a la aplicacion. Por esta vez es suficiente, mas adelante comentare mas cosas sobra las diferentes opciones de configuracion de Log4Net. Por esta vez ya es suficiente

4 comentarios en “Configuración Log4Net (I)

  1. excelente!!

    Sencilla la explicación, encontre otros donde explican, e incluso baje los ejemplos, pero como siempre con errores,

    Gracias, después de 4 hrs..de busquedas e intentos.. aqui.. estaba

Deja un comentario