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

解決slf4j 和 logback-classic遇到的坑

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

slf4j 和 logback-classic遇到的坑

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

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

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

問題二:不生成文件或者生成的文件路徑不對(duì)

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

<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è)計(jì)的又一個(gè)開源日志組件。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訪問模塊與Servlet容器集成提供通過Http來訪問日志的功能。 Logback是要與SLF4J結(jié)合起來用兩個(gè)組件的官方網(wǎng)站如下:

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

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

二、組件

Logback 分為三個(gè)模塊:logback-core,logback-classic,logback-access。其中l(wèi)ogback-core 是核心;logback-classic 改善了 log4j,且自身實(shí)現(xiàn)了 SLF4J API,所以即使用 Logback 你仍然可以使用其他的日志實(shí)現(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 />
    <!-- 控制臺(tái)輸出日志 -->
    <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>
    <!-- 文件輸出日志 (文件大小策略進(jìn)行文件輸出,超過指定大小對(duì)文件備份) -->
    <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è)置日志級(jí)別做鋪墊 -->
    <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");
    }
}

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評(píng)論

吉林省| 元谋县| 曲周县| 囊谦县| 广昌县| 富民县| 手机| 磴口县| 温泉县| 拜泉县| 隆安县| 桦甸市| 额济纳旗| 临泽县| 综艺| 怀柔区| 车险| 双流县| 内乡县| 桂东县| 洪江市| 汝城县| 通海县| 海门市| 岳普湖县| 扶绥县| 犍为县| 苏州市| 那坡县| 宜良县| 报价| 绵阳市| 阜平县| 济宁市| 钦州市| 拉萨市| 平邑县| 镇原县| 石林| 曲周县| 万荣县|