logback.xml 配置详解(2)

1.logback.xml文件

eclipse放在src目录下,在idea项目中,有一个放配置文件的文件夹。html

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="30 seconds">
    <!--Appendar详解: http://logback.qos.ch/manual/appenders.html#RollingFileAppender -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 当前Log文件名 -->
        <file>test.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 非当天的Log文件压缩备份为 archive/ldap-pwd.2014-08-10.zip -->
            <fileNamePattern>archive/ldap-pwd.%d{yyyy-MM-dd}.zip</fileNamePattern>
            <!-- 超过30天的备份文件会被删除 -->
            <maxHistory>30</maxHistory>
        </rollingPolicy>

        <layout class="ch.qos.logback.classic.PatternLayout">
            <!-- 格式说明:http://logback.qos.ch/manual/layouts.html#ClassicPatternLayout -->
            <Pattern>%d [%thread] %-5level %40logger{40} - %msg%n</Pattern>
        </layout>
    </appender>

    <logger name="cn.justfly.training.logging" level="info" />

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

###2.configuration节点 属性值:java

  1. scan:当此属性设置为true时,配置文件若是发生改变,将会被从新加载,默认值为true。
  2. scanPeriod:设置监测配置文件是否有修改的时间间隔,若是没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。
  3. debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。

例如:app

<configuration scan="true" scanPeriod="60 seconds" debug="false">  
      <!-- 其余配置省略-->  
</configuration>

3.<property>节点

根目录下的一个节点,主要是设置参数时使用,主要有两个属性name,value。好比能够设置日志路径信息。 例如:获取项目根目录。eclipse

<property name="path" value="."/>

获取值:使用${name}ide

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 当前Log文件名 -->
        <file>${path}/logs/test.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 非当天的Log文件压缩备份为 archive/ldap-pwd.2014-08-10.zip -->
            <fileNamePattern>${path}/logs/log.%d{yyyy-MM-dd}.zip</fileNamePattern>
            <!-- 超过30天的备份文件会被删除 -->
            <maxHistory>30</maxHistory>
        </rollingPolicy>

        <layout class="ch.qos.logback.classic.PatternLayout">
            <!-- 格式说明:http://logback.qos.ch/manual/layouts.html#ClassicPatternLayout -->
            <Pattern>%d [%thread] %-5level %40logger{40} - %msg%n</Pattern>
        </layout>
    </appender>

###4.<timestamp>节点 有两个属性idea

  1. key:标识此<timestamp> 的名字。
  2. datePattern:设置将当前时间(解析配置文件的时间)转换为字符串的模式,遵循java.txt.SimpleDateFormat的格式。

例子:获取值使用${key}debug

<configuration scan="true" scanPeriod="60 seconds" debug="false">  
      <timestamp key="bySecond" datePattern="yyyyMMdd'T'HHmmss"/>   
      <!-- 其余配置省略-->  
</configuration>

###5.<logger>节点 用来设置某一个包或者具体的某一个类的日志打印级别、以及指定<appender>。<logger>仅有一个name属性,一个可选的level和一个可选的addtivity属性。日志

  1. name:用来指定受此logger约束的某一个包或者具体的某一个类。
  2. level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,还有一个特俗值INHERITED或者同义词NULL,表明强制执行上级的级别。若是未设置此属性,那么当前logger将会继承上级的级别。
  3. addtivity:是否向上级logger传递打印信息。默认是true。

<logger>能够包含零个或多个<appender-ref>元素,标识这个appender将会添加到这个logger。code

###6.<root>节点 可是它是根logger。只有一个level属性.。 level: 用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,不能设置为INHERITED或者同义词NULL。 默认是DEBUG。 <root>能够包含零个或多个<appender-ref>元素,标识这个appender将会添加到这个loger。orm

相关文章
相关标签/搜索