logback.xml

<?xml version="1.0" encoding="UTF-8"?>

<configuration scan="true" debug="false" scanPeriod="6 seconds">
	<!-- scan: 当此属性设置为true时,配置文件若是发生改变,将会被从新加载,默认值为true -->
	<!-- debug: 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false -->
	
	
	<contextName>logback</contextName>
	<!-- contextName: 设置日志上下文名称,能够经过%contextName来打印日志上下文名称 -->
	                                 
	<property name="log.path" value="/usr/local/importdata/webapps/logs/mysteel-importdata.log" />
	<!-- property能够用来设置变量,能够经过${name}来访问     
	 	 name,用于${name}访问的key
	 	 value,用于${name}访问的value
	 -->
	 
	 <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
	 	<!--filter 日志输出拦截器,能够自定义拦截器也能够用系统一些定义好的拦截器 -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
              <level>WARN</level>
              <!-- ThresholdFilter来过滤掉ERROR级别如下的日志不输出到文件中 -->
        </filter>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
            <!-- encoder和pattern节点组合用于具体输出的日志格式 -->
        </encoder>
    </appender>
    <!-- appender: 格式化日志输出节点,有俩个属性name和class,class用来指定哪一种输出策略,经常使用就是控制台输出策略和文件输出策略  -->
    
    <!-- 用SizeAndTimeBasedRollingPolicy,配置子节点的maxFileSize来指定单个日志文件的大小 -->
     <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
     	<!--  file节点用来指明日志文件的输出位置,能够是绝对路径也能够是相对路径 -->
        <file>${log.path}</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
           <fileNamePattern>${log.path}.%d{yyyy-MM-dd}.zip</fileNamePattern>
            
           <!-- 单个日志文件最多 100MB, 60天的日志周期,最大不能超过20GB -->
           <maxFileSize>100KB</maxFileSize>    
		   <maxHistory>7</maxHistory>
		   <totalSizeCap>2MKB</totalSizeCap>
		   <!-- 
		   <maxFileSize>100MB</maxFileSize>    
		   <maxHistory>60</maxHistory>
		   <totalSizeCap>20GB</totalSizeCap>
           -->
        </rollingPolicy>
		<!-- rollingPolicy日志回滚策略,在这里咱们用了TimeBasedRollingPolicy,基于时间的回滚策略,有如下子节点 -->
        <encoder>
            <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n</pattern>
        </encoder>
    </appender>
    
    <root level="DEBUG">
        <appender-ref ref="console" />
        <appender-ref ref="file" />
    </root>
    <!-- root节点,必选节点,用来指定最基础的日志输出级别, 用来应用appender,格式化日志输出 -->
    
    <logger name="com.mysteel.importdata" level="DEBUG" />
	<!-- logger节点,可选节点,用来具体指明包的日志输出级别,它将会覆盖root的输出级别 -->

</configuration>
    <!-- 
     × Debug
     × Info
     × Warn
     × Error
     × Fatal
                一个等级比一个高
     -->
相关文章
相关标签/搜索