logback_dev.xml 2.83 KB
<?xml version="1.0" encoding="UTF-8"?><!-- configuration file for LogBack (slf4J implementation)
See here for more details: http://gordondickens.com/wordpress/2013/03/27/sawing-through-the-java-loggers/ -->
<configuration scan="true" scanPeriod="30 seconds">

  <!--定义日志文件的存储地址 勿在 LogBack的配置中使用相对路径-->
  <property name="LOG_HOME" value="./logs" />

  <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
    <resetJUL>true</resetJUL>
  </contextListener>

  <!-- To enable JMX Management -->
  <jmxConfigurator />

  <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%d{yyyyMMdd HH:mm:ss.SSS} %-5level %logger{0} - %msg%n</pattern>
    </encoder>
  </appender>

  <!-- 按照每天生成日志文件 -->
  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <!-- 日志输出文件 -->
    <file>${LOG_HOME}/LoggingBack.log</file>
    <!-- 追加日志到原文件结尾 -->
    <append>true</append>
    <!-- timebasedrollingpolicy:演示时间和大小为基础的日志文件归档 -->
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <!-- 归档的日志文件的路径,例如今天是2013-12-21日志,当前写的日志文件路径为file节点指定。 -->
      <!--可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。 -->
      <!--而2013-12-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
      <!-- 文件滚动日期格式:每天:.YYYY-MM-dd(默认);每星期:.YYYY-ww;每月:.YYYY-MM -->
      <!-- 每隔半天:.YYYY-MM-dd-a;每小时:.YYYY-MM-dd-HH;每分钟:.YYYY-MM-dd-HH-mm -->
      <fileNamePattern>${LOG_HOME}/log-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
      <!-- 控制归档文件的最大数量的保存,删除旧的文件,默认单位天数 -->
      <!--  <charset>UTF-8</charset>-->
      <maxHistory>30</maxHistory>
      <!-- 设置当前日志的文件的大小,决定日志翻滚 -->
      <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
        <!-- 除按日志记录之外,还配置了日志文件不能超过20M(默认),若超过20M,日志文件会以索引0开始, -->
        <maxFileSize>10MB</maxFileSize>
      </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>
    <!-- encoders 作用是将logger事件转换成字节数组,并将字节数组写入到输出流-->

    <encoder>
      <pattern>%d{HH:mm:ss.SSS} %-5level %logger - %msg%n</pattern>
      <charset>UTF-8</charset>
    </encoder>
  </appender>

  <root level="info">
    <appender-ref ref="console" />
    <appender-ref ref="FILE" />
  </root>
</configuration>