国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Logback 入門(mén)詳解

2019-11-10 20:05:07
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

    Logback是由log4j創(chuàng)始人設(shè)計(jì)的又一個(gè)開(kāi)源日志組件。logback當(dāng)前分成三個(gè)模塊:logback-core,logback- classic和logback-access。logback-core是其它兩個(gè)模塊的基礎(chǔ)模塊。logback-classic是log4j的一個(gè) 改良版本。此外logback-classic完整實(shí)現(xiàn)SLF4J API使你可以很方便地更換成其它日志系統(tǒng)如log4j或JDK14 Logging。logback-access訪問(wèn)模塊與Servlet容器集成提供通過(guò)Http來(lái)訪問(wèn)日志的功能。         --轉(zhuǎn)自百度百科

     Logback官方網(wǎng)址為:https://logback.qos.ch/ 

     由于Logback比log4j和SLF4J擁有眾多優(yōu)點(diǎn),如性能(據(jù)說(shuō)有時(shí)達(dá)到10倍以上),并且支持自動(dòng)加載配置文件,自動(dòng)刪除舊的日志文件,以及同一個(gè)logback配置文件同時(shí)適應(yīng)開(kāi)發(fā),測(cè)試,生產(chǎn)等。因此Logback官方強(qiáng)烈建議開(kāi)發(fā)人員從log4j轉(zhuǎn)到使用Logback。

    一、實(shí)戰(zhàn)

      1. logback的maven依賴(lài):   

        <dependency>            <groupId>ch.qos.logback</groupId>            <artifactId>logback-core</artifactId>            <version>1.1.7</version>        </dependency>        <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->        <dependency>            <groupId>ch.qos.logback</groupId>            <artifactId>logback-classic</artifactId>            <version>1.1.7</version>        </dependency>        <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-access -->        <dependency>            <groupId>ch.qos.logback</groupId>            <artifactId>logback-access</artifactId>            <version>1.1.7</version>        </dependency>

     2. logback.xml文件配置:

<?xml version="1.0" encoding="UTF-8"?><configuration debug="true" scan="true" scanPeriod="30 seconds">    <!--控制臺(tái)輸出日志信息-->    <appender name="CONSOLE-LOG" class="ch.qos.logback.core.ConsoleAppender">        <!-- encoders are  by default assigned the type             ch.qos.logback.classic.encoder.PatternLayoutEncoder -->        <encoder>            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%level] - %m%n</pattern>        </encoder>    </appender>    <!-- 輸出error級(jí)別的日志到error.log文件中 -->    <appender name="ERROR-LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">        <file>logs/error.log</file>        <encoder>            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%class:%line] - %m%n</pattern>        </encoder>        <filter class="ch.qos.logback.classic.filter.LevelFilter">            <level>ERROR</level>            <onMatch>ACCEPT</onMatch>            <onMismatch>DENY</onMismatch>        </filter>        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">            <!-- daily rollover -->            <fileNamePattern>error.%d{yyyy-MM-dd}.log.zip</fileNamePattern>            <!-- keep 30 days' worth of history -->            <maxHistory>30</maxHistory>        </rollingPolicy>    </appender>    <!-- 輸出info級(jí)別的日志到error.log文件中 -->    <appender name="INFO-LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">        <file>logs/info.log</file>        <encoder>            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%class:%line] - %m%n</pattern>        </encoder>        <filter class="ch.qos.logback.classic.filter.LevelFilter">            <level>INFO</level>            <onMatch>ACCEPT</onMatch>            <onMismatch>DENY</onMismatch>        </filter>        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">            <fileNamePattern>info.%i.log</fileNamePattern>            <minIndex>1</minIndex>            <maxIndex>3</maxIndex>        </rollingPolicy>        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">            <maxFileSize>5MB</maxFileSize>        </triggeringPolicy>    </appender>    <appender name="DEBUG-LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">        <file>logs/debug.log</file>        <encoder>            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%class:%line] - %m%n</pattern>        </encoder>        <filter class="ch.qos.logback.classic.filter.LevelFilter">            <level>INFO</level>            <onMatch>ACCEPT</onMatch>            <onMismatch>DENY</onMismatch>        </filter>        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">            <fileNamePattern>debug.%i.log</fileNamePattern>            <minIndex>1</minIndex>            <maxIndex>3</maxIndex>        </rollingPolicy>        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">            <maxFileSize>5MB</maxFileSize>        </triggeringPolicy>    </appender>    <root level="debug">        <appender-ref ref="CONSOLE-LOG" />        <appender-ref ref="ERROR-LOG" />        <appender-ref ref="INFO-LOG" />        <appender-ref ref="DEBUG-LOG" />    </root></configuration>      logback的項(xiàng)目目錄結(jié)構(gòu):

                      

 %20 3.LogBackTest.java %20 %20 %20 

import%20org.junit.Test;import%20org.slf4j.Logger;import%20org.slf4j.LoggerFactory;public%20class%20LogBackTest%20{%20%20%20%20       

     debug.log的內(nèi)容:      

2017-02-08 14:41:10 [LogBackTest:13] - info log     error.log的內(nèi)容:     

2017-02-08 14:41:10 [LogBackTest:14] - error log     info.log的內(nèi)容:

2017-02-08 14:41:10 [LogBackTest:13] - info log

看,簡(jiǎn)單吧!


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 凤凰县| 射洪县| 柳州市| 什邡市| 吴旗县| 永新县| 扬州市| 大邑县| 江津市| 丹寨县| 建始县| 新余市| 四平市| 延庆县| 宜章县| 阳城县| 景泰县| 陆河县| 中超| 临澧县| 沧源| 英超| 双牌县| 南丹县| 合山市| 同江市| 阳山县| 行唐县| 运城市| 北川| 民勤县| 时尚| 东山县| 融水| 呼和浩特市| 朝阳市| 涟水县| 天津市| 雷州市| 菏泽市| 清河县|