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

相關文章
相關標籤/搜索