java 整合LogBack__java

來源:互聯網
上載者:User

Logback是由log4j創始人設計的又一個開源日誌組件。

                logback當前分成三個模組:logback-core,logback- classic和logback-access。

                logback-core是其它兩個模組的基礎模組。

                logback-classic是log4j的一個 改良版本。此外logback-classic完整實現SLF4J API使你可以很方便地更換成其它日誌系統如log4j或JDK14 Logging。

                logback-access訪問模組與Servlet容器整合提供通過Http來訪問日誌的功能。

匯入依賴

    <!-- LogBack -->    <dependency>        <groupId>org.slf4j</groupId>        <artifactId>slf4j-api</artifactId>        <version>1.7.7</version>    </dependency>    <dependency>        <groupId>ch.qos.logback</groupId>        <artifactId>logback-core</artifactId>        <version>1.1.3</version>    </dependency>    <dependency>        <groupId>ch.qos.logback</groupId>        <artifactId>logback-access</artifactId>        <version>1.1.3</version>    </dependency>    <dependency>        <groupId>ch.qos.logback</groupId>        <artifactId>logback-classic</artifactId>        <version>1.1.3</version>    </dependency>    <!-- LogBack -->   

設定檔位置  logback的設定檔logback.xml檔案預設放在/src/main/resource/檔案夾下,本文放在/config/下

設定檔詳解

<?xml version="1.0" encoding="UTF-8" ?><configuration>       <!--定義記錄檔的儲存地址 勿在 LogBack 的配置中使用相對路徑-->      <property name="LOG_HOME" value="./log" />          <!-- 日誌首碼名稱 -->    <property name="LOG_NAME" value="spider" />         <!-- 控制台輸出 -->       <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">              <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:層級從左顯示5個字元寬度,%logger{50}輸出日誌的類 50代表包名加類名的總長度限制, %msg:日誌訊息,%n是分行符號-->             <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>           </encoder>     </appender>       <!-- 按照每天組建記錄檔檔案 -->       <appender name="ROLLING_FILE"  class="ch.qos.logback.core.rolling.RollingFileAppender">                  <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">            <!--記錄檔輸出的檔案名稱-->            <FileNamePattern>${LOG_HOME}/${LOG_NAME}-%d{yyyy-MM-dd}.log</FileNamePattern>             <!--記錄檔保留天數-->            <MaxHistory>30</MaxHistory>        </rollingPolicy>                  <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">             <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:層級從左顯示5個字元寬度,%logger{50}輸出日誌的類 50代表包名加類名的總長度限制, %msg:日誌訊息,%n是分行符號-->             <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>           </encoder>                <!--記錄檔最大的大小-->        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">        <MaxFileSize>10MB</MaxFileSize>        </triggeringPolicy>    </appender>         <!--庫日誌輸出層級 -->    <root level="DEBUG">        <appender-ref ref="STDOUT" />        <appender-ref ref="ROLLING_FILE" />    </root>     </configuration>

使用案例 

package clo.info.client;import java.io.IOException;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import ch.qos.logback.core.joran.spi.JoranException;import clo.info.util.LogBackConfigurator;public class LogBackTest {private static Logger logger = LoggerFactory.getLogger(LogBackTest.class);public static void main(String[] args) {initLogger();logger.debug("輸出debug層級的日誌.....");          logger.info("輸出info層級的日誌.....");          logger.error("輸出error層級的日誌.....");  }private static void initLogger() {try {LogBackConfigurator.load("config/logback.xml");} catch (IOException e) {e.printStackTrace();} catch (JoranException e) {e.printStackTrace();}}}


如果是java web工程需要在web.xml中添加

<context-param>           <param-name>logbackConfigLocation</param-name>           <param-value>config/logback.xml</param-value>  </context-param>  <listener>           <listener-class>ch.qos.logback.ext.spring.web.LogbackConfigListener</listener-class>  </listener>  


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.