Logback配置一(按时间归档)

Logback配置二(按时间和文件大小归档)

Logback配置三(按文件大小归档)


<?xml version="1.0" encoding="UTF-8" ?>  
<!--   
logback的根节点 <configuration>的属性scan、scanPeriod、debug  
scan  
当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。  
scanPeriod  
设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。  
debug  
当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。  
 -->  
<configuration scan="true" scanPeriod="5 seconds" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://logback.qos.ch/logback.xsd">  
    <!-- 每个logger都关联到logger上下文,默认上下文名称为“default”。但可以使用<contextName>设置成其他名字,用于区分不同应用程序的记录。一旦设置,不能修改。 -->  
    <contextName>testLog</contextName>  
    <!-- 属性从属性文件中加载 -->  
    <property resource="logback.properties" />  
    <!-- 控制台输出 -->  
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">  
        <encoder>  
            <!-- 日志格式化:%d后面跟时间,默认为yyyy-MM-dd;%thread线程名称;%-5level日志级别,显示5个字符;%logger{36}一般是全类名;%msg日志信息;%file文件名;%line行号;%n换行 -->  
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{80} [%file:%line] %msg %n</pattern>  
        </encoder>  
    </appender>  
    <!-- 文件输出 -->  
    <appender name="FILECOUT" class="ch.qos.logback.core.rolling.RollingFileAppender">  
        <!-- 日志路径与日志名称从logback.properties文件中取 -->  
        <file>${log.path}/${log.name}</file>  
        <!-- 按时间滚动,每秒归档一次 -->  
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
            <!-- 归档文件名格式 -->  
            <fileNamePattern>${log.path}/${log.name}.%d{yyyy-MM-dd.HHmmss}</fileNamePattern>  
            <!-- 保留10个归档文件 -->  
            <maxHistory>10</maxHistory>  
        </rollingPolicy>  
        <encoder>  
            <!-- 日志格式化输出 -->  
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{80} [%file:%line] %msg %n</pattern>  
        </encoder>  
    </appender>  
      
    <!--name:包名或者类名;level:日志级别(logger级别会覆盖root的级别);additivity:是否向上传递 -->  
    <!-- TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,还有一个特俗值INHERITED或者同义词NULL -->  
    <logger name="com.bear" level="INFO" additivity="false">  
        <appender-ref ref="FILECOUT" />  
        <appender-ref ref="STDOUT" />  
    </logger>  
    <root level="INFO">  
        <appender-ref ref="STDOUT" />  
    </root>  
</configuration>