最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決slf4j 和 logback-classic遇到的坑

 更新時間:2021年07月30日 09:58:00   作者:東方柏  
這篇文章主要介紹了解決slf4j 和 logback-classic遇到的坑,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

slf4j 和 logback-classic遇到的坑

以前一直不注意日志的打印,最近項目需求需要用日志記錄用時性能,集成日志時遇到的問題記錄下。

問題一:服務(wù)器啟動時提示未找到slf4j的實現(xiàn)類

此時一定是沒有在classpath中找到j(luò)ar包,啟動時會有相應(yīng)的警告提示。需要三個包:slf4j-api(接口),logback-classic(最優(yōu)實現(xiàn)),logback-core(核心)。加入的位置可能存在兩種,一種是tomcat需要,需要加在tomcat的lib下,還有一種是加在項目的classpath下。

問題二:不生成文件或者生成的文件路徑不對

不生成文件存在一個原因,logback.xml沒有配置寫入到文件(默認配置文件的順序是logback-test.xml, logback.groovy, logback.xml),注意如果是maven項目,不要把src/test/resources中的logback-test.xml發(fā)到環(huán)境中,因為優(yōu)先級最高。關(guān)于生成的文件路不對,解釋是正確的配置

<property name="LOG_HOME" value="servers/AdminServer/logs"/>

文件位置是eclipse的根目錄,如果配置是

<property name="LOG_HOME" value="/servers/AdminServer/logs"/>

則文件位置是eclipse所在盤符的根目錄,如D盤。

slf4j與logback的結(jié)合使用

一、logback的介紹

Logback是由log4j創(chuàng)始人設(shè)計的又一個開源日志組件。logback當前分成三個模塊:logback-core,logback- classic和logback-access。logback-core是其它兩個模塊的基礎(chǔ)模塊。logback-classic是log4j的一個 改良版本。

此外logback-classic完整實現(xiàn)SLF4J API使你可以很方便地更換成其它日志系統(tǒng)如log4j或JDK14 Logging。logback-access訪問模塊與Servlet容器集成提供通過Http來訪問日志的功能。 Logback是要與SLF4J結(jié)合起來用兩個組件的官方網(wǎng)站如下:

logback的官方網(wǎng)站: http://logback.qos.ch

SLF4J的官方網(wǎng)站:http://www.slf4j.org

二、組件

Logback 分為三個模塊:logback-core,logback-classic,logback-access。其中l(wèi)ogback-core 是核心;logback-classic 改善了 log4j,且自身實現(xiàn)了 SLF4J API,所以即使用 Logback 你仍然可以使用其他的日志實現(xiàn),如原始的 Log4J,java.util.logging 等;logback-access 讓你方便的訪問日志信息,如通過 http 的方式。

三、引用配置

1、 pom.xml文件:

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-api</artifactId> 
    <version>1.7.12</version> 
</dependency> 
<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>jcl-over-slf4j</artifactId> 
    <version>1.7.12</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-classic</artifactId> 
    <version>1.1.3</version> 
</dependency>

2、logback.xml

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
    <jmxConfigurator />
    <!-- 控制臺輸出日志 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -
                %msg%n</pattern>
        </layout>
    </appender>
    <!-- 文件輸出日志 (文件大小策略進行文件輸出,超過指定大小對文件備份) -->
    <appender name="FILE"
        class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>xxxx.log</File>
        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
            <FileNamePattern>xxxx.log.%i.bak</FileNamePattern>
            <MinIndex>1</MinIndex>
            <MaxIndex>12</MaxIndex>
        </rollingPolicy>
        <triggeringPolicy
            class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <MaxFileSize>100MB</MaxFileSize>
        </triggeringPolicy>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -
                %msg%n</Pattern>
        </layout>
    </appender>
    <!--這里指定logger name 是為jmx設(shè)置日志級別做鋪墊 -->
    <logger name="com.xxx.xxx">
        <level value="INFO" />
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FILE" />
    </logger>
</configuration>

四、示例代碼

import org.slf4j.Logger;
import org.slf4j.LoggerFactory; 
class Bar { 
    Logger logger = LoggerFactory.getLogger(Bar.class); 
    public void doIt() {
        logger.debug("doing my job");
    }
}

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java 如何掃描指定包下類(包括jar中的java類)

    java 如何掃描指定包下類(包括jar中的java類)

    這篇文章主要介紹了java 如何掃描指定包下類(包括jar中的java類),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • java中的內(nèi)部類內(nèi)部接口用法說明

    java中的內(nèi)部類內(nèi)部接口用法說明

    這篇文章主要介紹了java中的內(nèi)部類內(nèi)部接口用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Java導入導出csv格式文件完整版詳解(附代碼)

    Java導入導出csv格式文件完整版詳解(附代碼)

    在Java中你可以使用不同的庫來導出CSV格式的文件,這篇文章主要給大家介紹了關(guān)于Java導入導出csv格式文件的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-07-07
  • J2ME 程序開發(fā)注意要點

    J2ME 程序開發(fā)注意要點

    講Java基礎(chǔ)的書籍中都是以J2SE來講基礎(chǔ),這就給學習造成了一些不必要的麻煩,下面將J2ME中用到的和不需要的Java基礎(chǔ)知識做一個簡單的說明
    2016-07-07
  • Java的jps命令簡介及使用示例詳解

    Java的jps命令簡介及使用示例詳解

    jps是jdk提供的一個查看當前java進程的小工具,?可以看做是JavaVirtual?Machine?Process?Status?Tool的縮寫,非常簡單實用,本文重點給大家介紹下Java的jps命令使用,感興趣的朋友一起看看吧
    2022-03-03
  • SpringBoot中間件ORM框架實現(xiàn)案例詳解(Mybatis)

    SpringBoot中間件ORM框架實現(xiàn)案例詳解(Mybatis)

    這篇文章主要介紹了SpringBoot中間件ORM框架實現(xiàn)案例詳解(Mybatis),本篇文章提煉出mybatis最經(jīng)典、最精簡、最核心的代碼設(shè)計,來實現(xiàn)一個mini-mybatis,從而熟悉并掌握ORM框架的涉及實現(xiàn),需要的朋友可以參考下
    2023-07-07
  • 在Spring-Boot中如何使用@Value注解注入集合類

    在Spring-Boot中如何使用@Value注解注入集合類

    這篇文章主要介紹了在Spring-Boot中如何使用@Value注解注入集合類的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 面試中遇到的java逃逸分析問題

    面試中遇到的java逃逸分析問題

    這篇文章主要介紹了面試中遇到的java逃逸分析問題,逃逸分析(Escape Analysis)簡單來講就是,Java Hotspot 虛擬機可以分析新創(chuàng)建對象的使用范圍,并決定是否在 Java 堆上分配內(nèi)存的一項技術(shù)。,需要的朋友可以參考下
    2019-06-06
  • selenium+java+chrome環(huán)境搭建的方法步驟

    selenium+java+chrome環(huán)境搭建的方法步驟

    這篇文章主要介紹了selenium+java+chrome環(huán)境搭建的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • java使用Feign實現(xiàn)聲明式Restful風格調(diào)用

    java使用Feign實現(xiàn)聲明式Restful風格調(diào)用

    這篇文章主要為大家詳細介紹了java使用Feign實現(xiàn)聲明式Restful風格調(diào)用,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04

最新評論

海阳市| 云林县| 老河口市| 雅江县| 乳源| 齐河县| 隆林| 酉阳| 定州市| 临颍县| 六枝特区| 阆中市| 平顶山市| 隆子县| 收藏| 巴马| 桐梓县| 屏东市| 惠州市| 晋宁县| 禹州市| 昌乐县| 大名县| 双流县| 通榆县| 玉门市| 西畴县| 明溪县| 伊宁县| 济南市| 大化| 固镇县| 定兴县| 琼结县| 鸡东县| 井研县| 奎屯市| 杭锦后旗| 庄河市| 广水市| 承德县|