Hello,

I use log4net 1.2.10 in an asp.net mvc site (.NET 3.5 SP1).

There may be something I misunderstood regarding loggers and additivity.

I have the following configuration :

[code]
<log4net>
    <appender name="Console" type="log4net.Appender.ConsoleAppender">
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%-4timestamp [%thread] %-5level %logger 
%ndc - %message%newline" />
        </layout>
    </appender>

    <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
        <file value="logs/workflowpdf.log" />
        <appendToFile value="true" />
        <maximumFileSize value="100KB" />
        <maxSizeRollBackups value="2" />

        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %level %logger - 
%message%newline" />
        </layout>
    </appender>

    <!-- Set root logger level to ERROR -->
    <root>
        <level value="ERROR" />
        <appender-ref ref="RollingFile" />
    </root>
    <!-- cas de debug de certaines classes -->
    <logger name="mycompany.myproject.firstnamespace.FirstClass">
        <level value="ERROR" />
        <appender-ref ref="Console" />
        <appender-ref ref="RollingFile" />
    </logger>
    <logger name="mycompany.myproject.secondnamespace.SecondClass">
        <level value="DEBUG" />
        <appender-ref ref="Console" />
        <appender-ref ref="RollingFile" />
    </logger>
</log4net>
[/code]

What I observe regarding debug log : FirstClass and SecondClass "debug" 
instructions are duplicated in the log file. Errors are not duplicated.

If I use <logger name="mycompany.myproject.firstnamespace.FirstClass" 
additivity="false"> and the same for the second logger, onlmy the FirstClass 
logger logs, despite the two classes belonging to different namespaces.

Here is the way I retrieve a logger in a class :

        private static readonly ILog logger = 
LogManager.GetLogger(typeof(FirstClass).FullName);

By the way, I don't know where to find "Console" appender with Visual Web 
Developper and its local development web server.

Maybe I could just remove this logger...

Thanks for any hint,

Barbara Post

Reply via email to