V prvním appenderu říkám, že chci logovat do alarmlog_info.txt a že
úroveň logování bude pouze INFO, což jsem definoval filter parametrem.
Řádek <filter type="log4net.Filter.DenyAllFilter" /> říká, že po zalogování INFO zpráv, se již nebude pokračovat.
To samé pak udělejte i u souboru alarmlog_error.txt s tím, že level je ERROR (nebo TRACE, WARN či DEBUG).
A jako poslední ještě definujte logger pro oba appendery.
Zdroje:
https://www.codeproject.com/kb/dotnet/log4net_tutorial.aspx
Řádek <filter type="log4net.Filter.DenyAllFilter" /> říká, že po zalogování INFO zpráv, se již nebude pokračovat.
To samé pak udělejte i u souboru alarmlog_error.txt s tím, že level je ERROR (nebo TRACE, WARN či DEBUG).
A jako poslední ještě definujte logger pro oba appendery.
<appender name="AlarmLog_info" type="log4net.Appender.RollingFileAppender">
<file value="c:\temp\alarmlog_info.txt"/>
<appendToFile value="true"/>
<maxSizeRollBackups value="20"/>
<maximumFileSize value="50MB"/>
<staticLogFileName value="true"/>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d;text:%m%n"/>
</layout>
<filter type="log4net.Filter.LevelMatchFilter">
<levelToMatch value="INFO"/>
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
</appender>
<file value="c:\temp\alarmlog_info.txt"/>
<appendToFile value="true"/>
<maxSizeRollBackups value="20"/>
<maximumFileSize value="50MB"/>
<staticLogFileName value="true"/>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d;text:%m%n"/>
</layout>
<filter type="log4net.Filter.LevelMatchFilter">
<levelToMatch value="INFO"/>
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
</appender>
<appender name="AlarmLog_error" type="log4net.Appender.RollingFileAppender">
<file value="c:\temp\alarmlog_error.txt"/>
<appendToFile value="true"/>
<maxSizeRollBackups value="20"/>
<maximumFileSize value="50MB"/>
<staticLogFileName value="true"/>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d;text:%m%n"/>
</layout>
<filter type="log4net.Filter.LevelMatchFilter">
<levelToMatch value="ERROR"/>
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
</appender>
<file value="c:\temp\alarmlog_error.txt"/>
<appendToFile value="true"/>
<maxSizeRollBackups value="20"/>
<maximumFileSize value="50MB"/>
<staticLogFileName value="true"/>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d;text:%m%n"/>
</layout>
<filter type="log4net.Filter.LevelMatchFilter">
<levelToMatch value="ERROR"/>
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
</appender>
<logger name="MonitoringCrm.Alarm" additivity="true">
<appender-ref ref="Alarmlog_info"/>
<appender-ref ref="Alarmlog_error"/>
<level value="ALL"/>
</logger>
<appender-ref ref="Alarmlog_info"/>
<appender-ref ref="Alarmlog_error"/>
<level value="ALL"/>
</logger>
Zdroje:
https://www.codeproject.com/kb/dotnet/log4net_tutorial.aspx