I would like to send log messages to one of two appenders depending on
the level of the message. Specifically, I'd like this:

 

Everything: send to Console

Error and above: send to file

 

So I have configured these two appenders:

 

<appender name="Console" type="log4net.Appender.ConsoleAppender">

    <layout type="log4net.Layout.PatternLayout">

      <conversionPattern value="%date %-4timestamp [%thread] %-5level
%logger %ndc - %message%newline" />

    </layout>

</appender>

 

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

  <file value="C:\Windows\Temp\servicelog_01.txt" />

  <appendToFile value="true" />

  <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />

  <rollingStyle value="Size" />

  <maxSizeRollBackups value="10" />

  <layout type="log4net.Layout.PatternLayout">

    <conversionPattern value="%date %-4timestamp [%thread] %-5level
%logger %ndc - %message%newline" />

  </layout>

  <evaluator type="log4net.Core.LevelEvaluator">

    <threshold value="ERROR"/>

  </evaluator>

</appender>

 

I would have thought that adding the <evaluator>-element to the
RollingFileAppender would filter the messages only saving the messages
with level "ERROR and above", but everything still gets send to both
appenders.

 

Can you tell me what I am missing here?

 

Thanks,

 

:o)

 

Med venlig hilsen / Best regards

 

Jesper Lund Stocholm

Seniorarkitekt / Senior architect

 

Reply via email to