log4net 配置,日志按日期输出

  •  按照日期对日志进行分割
  •  日志按照等级,分别输出到文件中

Log4net.config

<?xml version="1.0" encoding="utf-8" ?>
<log4net>
    <!--Type 表示用那种类型记录日志-->
    <appender name="DebugRollingAppender" type="log4net.Appender.RollingFileAppender">
        <file value="logs/" />
        <appendToFile value="true" />
 
        <!--防止多线程时不能写Log,官方说线程非安全-->
        <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
        <!--最小锁-->
        <!--配置Unicode编码-->
        <Encoding value="UTF-8" />
        <rollingStyle value="Date" />
        <maxSizeRollBackups value="2" />
        <!--可用的单位:KB|MB|GB-->
        <maximumFileSize value="512MB" />
        <!--置为true,当前最新日志文件名永远为file节中的名字-->
        <staticLogFileName value="false" />
 
        <!--当备份文件时,为文件名加的后缀,这里可以作为每一天的日志分别存储不同的文件-->
        <datePattern value="yyyy-MM-dd'_debug.txt'" />
        <layout type="log4net.Layout.PatternLayout">
            <!--日志输出格式:时间  日志类型  日志内容-->
            <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
        </layout>
        <filter type="log4net.Filter.LevelRangeFilter">
            <levelMin value="DEBUG" />
            <levelMax value="DEBUG" />
        </filter>
    </appender>
 
    <appender name="InfoRollingAppender" type="log4net.Appender.RollingFileAppender">
        <file value="logs/" />
        <appendToFile value="true" />
 
        <!--防止多线程时不能写Log,官方说线程非安全-->
        <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
        <!--最小锁-->
        <!--配置Unicode编码-->
        <Encoding value="UTF-8" />
        <rollingStyle value="Date" />
        <maxSizeRollBackups value="2" />
        <!--可用的单位:KB|MB|GB-->
        <maximumFileSize value="512MB" />
        <!--置为true,当前最新日志文件名永远为file节中的名字-->
        <staticLogFileName value="false" />
 
        <!--当备份文件时,为文件名加的后缀,这里可以作为每一天的日志分别存储不同的文件-->
        <datePattern value="yyyy-MM-dd'_info.txt'" />
        <layout type="log4net.Layout.PatternLayout">
            <!--日志输出格式:时间  日志类型  日志内容-->
            <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
        </layout>
        <filter type="log4net.Filter.LevelRangeFilter">
            <levelMin value="INFO" />
            <levelMax value="INFO" />
        </filter>
    </appender>
 
    <appender name="WarnRollingAppender" type="log4net.Appender.RollingFileAppender">
        <file value="logs/" />
        <appendToFile value="true" />
 
        <!--防止多线程时不能写Log,官方说线程非安全-->
        <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
        <!--最小锁-->
        <!--配置Unicode编码-->
        <Encoding value="UTF-8" />
        <rollingStyle value="Date" />
        <maxSizeRollBackups value="2" />
        <!--可用的单位:KB|MB|GB-->
        <maximumFileSize value="512MB" />
        <!--置为true,当前最新日志文件名永远为file节中的名字-->
        <staticLogFileName value="false" />
 
        <!--当备份文件时,为文件名加的后缀,这里可以作为每一天的日志分别存储不同的文件-->
        <datePattern value="yyyy-MM-dd'_warn.txt'" />
        <layout type="log4net.Layout.PatternLayout">
            <!--日志输出格式:时间  日志类型  日志内容-->
            <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
        </layout>
        <filter type="log4net.Filter.LevelRangeFilter">
            <levelMin value="WARN" />
            <levelMax value="WARN" />
        </filter>
    </appender>
 
 
    <appender name="ErrorRollingAppender" type="log4net.Appender.RollingFileAppender">
        <file value="logs/" />
        <appendToFile value="true" />
 
        <!--防止多线程时不能写Log,官方说线程非安全-->
        <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
        <!--最小锁-->
        <!--配置Unicode编码-->
        <Encoding value="UTF-8" />
        <rollingStyle value="Date" />
        <maxSizeRollBackups value="2" />
        <!--可用的单位:KB|MB|GB-->
        <maximumFileSize value="512MB" />
        <!--置为true,当前最新日志文件名永远为file节中的名字-->
        <staticLogFileName value="false" />
 
        <!--当备份文件时,为文件名加的后缀,这里可以作为每一天的日志分别存储不同的文件-->
        <datePattern value="yyyy-MM-dd'_error.txt'" />
        <layout type="log4net.Layout.PatternLayout">
            <!--日志输出格式:时间  日志类型  日志内容-->
            <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
        </layout>
        <filter type="log4net.Filter.LevelRangeFilter">
            <levelMin value="ERROR" />
            <levelMax value="OFF" />
        </filter>
    </appender>
 
    <!-- levels: OFF > FATAL > ERROR > WARN > INFO > DEBUG  > ALL -->
    <root>
        <priority value="ALL"/>
        <level value="ALL"/>
        <!--<appender-ref ref="DebugRollingAppender" />-->
        <appender-ref ref="InfoRollingAppender" />
        <appender-ref ref="WarnRollingAppender" />
        <appender-ref ref="ErrorRollingAppender" />
    </root>
</log4net>

 

 

2025-08-11 16:08:54【出处】:https://johns.blog.csdn.net/article/details/136225095

=======================================================================================

posted on 2025-08-11 17:09  jack_Meng  阅读(47)  评论(0)    收藏  举报

导航