Qué tal, Cristian.
Yo tengo implemento log4net en un par de sistemas. Te paso la configuración
que estoy usando en uno de ellos. Espero te sirva.

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

  <log4net debug="true">

    <appender name="trace" type="log4net.Appender.TraceAppender, log4net">
      <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p %c{1}:%L -
%m%n"/>
      </layout>
    </appender>

    <appender name="console" type="log4net.Appender.ConsoleAppender,
log4net">
      <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p %c{1}:%L -
%m%n"/>
      </layout>
    </appender>

    <appender name="CleanedConsole" type="log4net.Appender.ConsoleAppender,
log4net">
      <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="ConversionPattern" value="%m%n"/>
      </layout>
    </appender>

    <appender name="MyAppInfoRollingFile"
type="log4net.Appender.RollingFileAppender,log4net">

      <param name="File" value="log/MyApp_Info_Log.txt"/>
      <param name="AppendToFile" value="true"/>
      <param name="RollingStyle" value="Date"/>
      <param name="DatePattern" value="yyyy.MM.dd"/>
      <param name="StaticLogFileName" value="true"/>

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

      <filter type="log4net.Filter.LevelMatchFilter">
        <levelToMatch value="INFO"/>
        <acceptOnMatch value="true"/>
      </filter>
      <filter type="log4net.Filter.DenyAllFilter"/>

    </appender>

    <appender name="MyAppWarnRollingFile"
type="log4net.Appender.RollingFileAppender,log4net">

      <param name="File" value="log/MyApp_Warn_Log.txt"/>
      <param name="AppendToFile" value="true"/>
      <param name="RollingStyle" value="Date"/>
      <param name="DatePattern" value="yyyy.MM.dd"/>
      <param name="StaticLogFileName" value="true"/>

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

      <filter type="log4net.Filter.LevelMatchFilter">
        <levelToMatch value="WARN"/>
        <acceptOnMatch value="true"/>
      </filter>
      <filter type="log4net.Filter.DenyAllFilter"/>

    </appender>

    <appender name="MyAppDebugRollingFile"
type="log4net.Appender.RollingFileAppender,log4net">

      <param name="File" value="log/MyApp_Debug_Log.txt"/>
      <param name="AppendToFile" value="true"/>
      <param name="RollingStyle" value="Date"/>
      <param name="DatePattern" value="yyyy.MM.dd"/>
      <param name="StaticLogFileName" value="true"/>

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

      <filter type="log4net.Filter.LevelMatchFilter">
        <levelToMatch value="DEBUG"/>
        <acceptOnMatch value="true"/>
      </filter>
      <filter type="log4net.Filter.DenyAllFilter"/>

    </appender>

    <appender name="MyAppErrorRollingFile"
type="log4net.Appender.RollingFileAppender,log4net">

      <param name="File" value="log/MyApp_Error_Log.txt"/>
      <param name="AppendToFile" value="true"/>
      <param name="RollingStyle" value="Date"/>
      <param name="DatePattern" value="yyyy.MM.dd"/>
      <param name="StaticLogFileName" value="true"/>

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

      <filter type="log4net.Filter.LevelMatchFilter">
        <levelToMatch value="ERROR"/>
        <acceptOnMatch value="true"/>
      </filter>
      <filter type="log4net.Filter.DenyAllFilter"/>

    </appender>

    <appender name="MyAppErrorSmtpAppender"
type="log4net.Appender.SmtpAppender,log4net">

      <to value="[email protected]"/>
      <from value="[email protected]"/>
      <subject value="[Adecco Empleo] Error"/>
      <smtpHost value="10.154.2.79"/>
      <bufferSize value="512"/>
      <lossy value="false"/>

      <filter type="log4net.Filter.LevelMatchFilter">
        <levelToMatch value="ERROR"/>
        <acceptOnMatch value="true"/>
      </filter>
      <filter type="log4net.Filter.DenyAllFilter"/>

      <layout type="log4net.Layout.PatternLayout,log4net">
        <conversionPattern value="%property{log4net:HostName} :: %level ::
%message %newlineLogger: %logger%newlineThread: %thread%newlineDate:
%date%newlineNDC: %property{NDC}%newline%newline"/>
      </layout>

    </appender>

    <appender name="NHibernate_SQL_RollingFile"
type="log4net.Appender.RollingFileAppender,log4net">

      <param name="File" value="log/NHibernate_SQL_Log.txt"/>
      <param name="AppendToFile" value="true"/>
      <param name="RollingStyle" value="Date"/>
      <param name="DatePattern" value="yyyy.MM.dd"/>
      <param name="StaticLogFileName" value="true"/>

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

    </appender>

    <appender name="NHibernate_Transaction_RollingFile"
type="log4net.Appender.RollingFileAppender,log4net">

      <param name="File" value="log/NHibernate_Transaction_Log.txt"/>
      <param name="AppendToFile" value="true"/>
      <param name="RollingStyle" value="Date"/>
      <param name="DatePattern" value="yyyy.MM.dd"/>
      <param name="StaticLogFileName" value="true"/>

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

    </appender>

    <root>
      <priority value="OFF"/>
      <appender-ref ref="CleanedConsole"/>
    </root>

    <logger name="NHibernate.SQL">
      <level value="ALL"/>
      <appender-ref ref="NHibernate_SQL_RollingFile"/>
    </logger>

    <logger name="NHibernate.Transaction">
      <level value="ALL"/>
      <appender-ref ref="NHibernate_Transaction_RollingFile"/>
    </logger>

    <logger name="MyApp">
      <level value="ALL"/>
      <appender-ref ref="MyAppInfoRollingFile"/>
      <appender-ref ref="MyAppWarnRollingFile"/>
      <appender-ref ref="MyAppDebugRollingFile"/>
      <appender-ref ref="MyAppErrorRollingFile"/>
      <appender-ref ref="MyAppErrorSmtpAppender"/>
    </logger>

  </log4net>

  <appSettings file="MyApp.config"/>

</configuration>

Como podrás ver, tengo varios archivos. Para loguear info, debug, warnings y
errores.

En esta clase instancio el logger :

 public class GenericService : IGenericService
    {
   *     public readonly ILog _log = LogManager.GetLogger(typeof
(GenericService).Assembly, "MyApp");
*
        public GenericService()
        {
            XmlConfigurator.Configure();
        }
}

Y en ésta lo uso :

public class ManageInstitucionService : GenericService,
IManageInstitucionService
    {
        #region IManageInstitucionService Members

        public Institucion Create(Institucion pInstitucion)
        {
            string sMethodName = "_Create";
            if (pInstitucion == null)
            {
*                _log.Error("Debe especificarse una instancia no nula para
'pInstitucion'));*
                return null;
            }
            else
            {
                NHib.Infraestructure.Repository rep =
MyApp.NHib.Infraestructure.Repository.Current;
                try
                {
                    rep.SaveObject(pInstitucion);
*                    _log.Info("Institucion : Id = {0}, Nombre = {1} creada
exitosamente.", pInstitucion.Id, pInstitucion.Nombre));*
                    return pInstitucion;
                }
                catch (Exception ex)
                {
*                    _log.Error("Error : ", ex);*
                    return null;
                }
            }
        }


Saludos.


2009/4/8 Leandro Halfon <[email protected]>

> Cristian..
> El archivo segun recuerdo lo tenes que tener creado. No lo crea
> automaticamente.
> saludos.
>
> 2009/4/8 Cristian C. Bittel <[email protected]>
>
>   Sebastián, viendo el link que me enviaste logré agregar esto en el
>> archivo de configuración, lo resalté con color rojo. También agregué una
>> línea de código que no la había visto antes, la agregué dentro del
>> Main():            log4net.Config.XmlConfigurator.Configure();
>>
>> Con eso parece que se le indica al log4net que utilice la configuración
>> desde el app.config, pero de todas formas todavía no logro loguear mis
>> mensajes, ni siquiera se crea el archivo especificado.
>>
>>
>>
>> ¿Tenés idea qué más me puede estar faltando agregar?
>>
>>
>>
>>
>>
>> <?xml version="1.0" encoding="utf-8" ?>
>>
>> <configuration>
>>
>>     <configSections>
>>
>>         <sectionGroup name="applicationSettings"
>> type="System.Configuration.ApplicationSettingsGroup, System,
>> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
>>
>>             <section name="Procesamiento.Properties.Settings"
>> type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0,
>> Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"
>> />
>>
>>
>>
>>             <section name="log4net"
>> type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
>>
>>
>>
>>         </sectionGroup>
>>
>>     </configSections>
>>
>>     <applicationSettings>
>>
>>         <Procesamiento.Properties.Settings>
>>
>>             <setting name="CarpetaOrigen" serializeAs="String">
>>
>>                 <value>C:\Demo\Origen\</value>
>>
>>             </setting>
>>
>>             <setting name="CarpetaDestino" serializeAs="String">
>>
>>                 <value>C:\Demo\Destino\</value>
>>
>>             </setting>
>>
>>             <setting name="IdentificadorEstacionTrabajo"
>> serializeAs="String">
>>
>>                 <value>ID_WSK_01</value>
>>
>>             </setting>
>>
>>         </Procesamiento.Properties.Settings>
>>
>>
>>
>>         <log4net debug="true">
>>
>>           <appender name="RollingLogFileAppender"
>> type="log4net.Appender.RollingFileAppender">
>>
>>             <file value="C:\\Temp\\TestLog.txt" />
>>
>>             <appendToFile value="true" />
>>
>>             <rollingStyle value="Size" />
>>
>>             <maxSizeRollBackups value="10" />
>>
>>             <maximumFileSize value="10MB" />
>>
>>             <staticLogFileName value="true" />
>>
>>             <layout type="log4net.Layout.PatternLayout">
>>
>>               <conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M
>> - %m%n" />
>>
>>             </layout>
>>
>>           </appender>
>>
>>
>>
>>           <root>
>>
>>             <level value="DEBUG" />
>>
>>             <priority value="ALL" />
>>
>>             <appender-ref ref="RollingLogFileAppender" />
>>
>>           </root>
>>
>>         </log4net>
>>
>>
>>
>>     </applicationSettings>
>>
>> </configuration>
>>
>>
>>
>> Cristian.
>>
>>
>>
>> *From:* [email protected] [mailto:[email protected]] *On Behalf Of 
>> *Sebastian
>> Fiorentino
>> *Sent:* miércoles, 08 de abril de 2009 02:41 p.m.
>> *To:* [email protected]
>> *Subject:* [puntonet] Log4Net
>>
>>
>>
>> Creo que esto te va a servir.
>>
>> http://www.codeproject.com/KB/dotnet/ConfigureLog4Net.aspx
>>
>>
>>  ------------------------------
>>
>> *De:* Cristian C. Bittel <[email protected]>
>> *Para:* [email protected]
>> *Enviado:* miércoles 8 de abril de 2009, 13:41:07
>> *Asunto:* [puntonet] Log4Net
>>
>> Necesito ayuda para poner a funcionar el Log4Net.
>>
>>
>>
>> Leí el tutorial pero no termino de entender dónde debo incluir la
>> configuración del Log4Net. Mi aplicación tiene su propio app.config y creo
>> que puedo incluir ahí la configuración del log, pero no sé cómo hacerlo,
>> ¿alguien me puede dar una mano?
>>
>>
>>
>> <?xml version="1.0" encoding="utf-8" ?>
>>
>> <configuration>
>>
>>     <configSections>
>>
>>         <sectionGroup name="applicationSettings"
>> type="System.Configuration.ApplicationSettingsGroup, System,
>> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
>>
>>             <section name="Procesamiento.Properties.Settings"
>> type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0,
>> Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"
>> />
>>
>>         </sectionGroup>
>>
>>     </configSections>
>>
>>     <applicationSettings>
>>
>>         <Procesamiento.Properties.Settings>
>>
>>             <setting name="CarpetaOrigen" serializeAs="String">
>>
>>                 <value>C:\Demo\Origen\</value>
>>
>>             </setting>
>>
>>             <setting name="CarpetaDestino" serializeAs="String">
>>
>>                 <value>C:\Demo\Destino\</value>
>>
>>             </setting>
>>
>>             <setting name="IdentificadorEstacionTrabajo"
>> serializeAs="String">
>>
>>                 <value>ID_WSK_01</value>
>>
>>             </setting>
>>
>>         </Procesamiento.Properties.Settings>
>>
>>     </applicationSettings>
>>
>> </configuration>
>>
>>
>>
>> Cristian.
>>
>>
>>  ------------------------------
>>
>>
>> Yahoo! Cocina
>> Recetas prácticas y comida saludable
>> Visitá http://ar.mujer.yahoo.com/cocina/
>>
>> No virus found in this incoming message.
>> Checked by AVG - www.avg.com
>> Version: 8.5.285 / Virus Database: 270.11.45/2045 - Release Date: 04/08/09
>> 05:53:00
>>
>
>

Responder a