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

log4j升級log4j2遇到的問題及解決方式

 更新時間:2021年12月24日 10:21:36   作者:三千煉心  
這篇文章主要介紹了log4j升級log4j2遇到的問題及解決方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

log4j升級log4j2的問題

一、導(dǎo)入包

 <!-- log -->
<dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>${slf4j.version}</version>
</dependency>
<dependency>
     <groupId>org.slf4j</groupId>
     <artifactId>jcl-over-slf4j</artifactId>
     <version>${slf4j.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.8.2</version>
</dependency>
        <!-- 日志橋接包, 適配log4j2 -->
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <version>2.8.2</version>
</dependency>

注意:可能有些包需要依賴log4j,但是升級后只有l(wèi)og4j2了,此時會報找不到類的錯,如:

Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger

那么如果這些包沒有使用slf4接口,而是寫死了必須依賴log4j的話,如果實在不想導(dǎo)入log4j的包,那么只能找能代替這個包的工具包使用了

如:

<!-- 使用該報去掉log4j,后會報上述錯誤,所以就把這個包換了 -->
<dependency>
 <groupId>com.github.sgroschupf</groupId>
 <artifactId>zkclient</artifactId>
 <version>0.1</version>
 <exclusions>
  <exclusion>
   <artifactId>log4j</artifactId>
   <groupId>log4j</groupId>
  </exclusion>
 </exclusions>
</dependency>

替換為如下的包,就可以了:

<dependency>
 <groupId>com.101tec</groupId>
 <artifactId>zkclient</artifactId>
 <version>0.10</version>
 <exclusions>
  <exclusion>
   <artifactId>log4j</artifactId>
   <groupId>log4j</groupId>
  </exclusion>
  <exclusion>
   <artifactId>slf4j-log4j12</artifactId>
   <groupId>org.slf4j</groupId>
  </exclusion>
 </exclusions>
 </dependency>

二、在src/main/resources下新建一個log4j2.xml文件

配置如下

<?xml version="1.0" encoding="UTF-8" ?>
<configuration status="ERROR">
 <Properties>
        <Property name="PATTERN" value="[%d{HH:mm:ss.SSS} %-5level] [%t] %c{3} - %msg%n" />
     <property name="FILE_PATH" value="/mySoft/logs" />
     <property name="FILE_SIZE" value="50 MB" />
    </Properties>
 <Appenders>
<!-- 控制臺日志打印 -->
  <Console name="Console" target="SYSTEM_OUT">
   <PatternLayout pattern="${PATTERN}"/>
  </Console>
  <!-- 生產(chǎn)環(huán)境日志打印 -->
<!-- fileName表示創(chuàng)建的日志文件名,filePattern表示如果日志策略按照日期與大小做限定的話,如果大小超過50m就會按該格式將之前的的日志文件重命名,并重新創(chuàng)建新的fileName。同理,如果日期超過限定的時間,也會進(jìn)行同樣的操作,下文定義一天建一個,如果想一分鐘建一個則filePattern="${FILE_PATH}/demo-%d{yyyy-MM-dd HH-mm}-%i.log" 如此定義-->
  <RollingFile name="ProdFile" 
   fileName="${FILE_PATH}/demo.log"
   filePattern="${FILE_PATH}/demo-%d{yyyy-MM-dd}-%i.log">
   <PatternLayout pattern="${PATTERN}" />
   <Policies>
          <TimeBasedTriggeringPolicy />
          <SizeBasedTriggeringPolicy size="${FILE_SIZE}"/>
      </Policies>
   <Filters>
             <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY" />
         </Filters>
  </RollingFile>
 </Appenders>
 <!-- root部分定義了log4j2的默認(rèn)輸出級別和方式 -->
 <loggers>
  <root level="error">
   <appender-ref ref="Console" />
   <appender-ref ref="ProdFile" />
  </root>
 </loggers>
</configuration> 

升級log4j2遇到的那些坑

<slf4j.version>1.7.13</slf4j.version>
<log4j2.version>2.3</log4j2.version>
<disruptor.version>3.3.2</disruptor.version>
<spring.version>3.2.4.RELEASE</spring.version>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>${log4j2.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>${log4j2.version}</version>
</dependency>
<dependency>
    <groupId>com.lmax</groupId>
    <artifactId>disruptor</artifactId>
    <version>${disruptor.version}</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>${slf4j.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <version>${log4j2.version}</version>
</dependency>
<!--這塊比較關(guān)鍵,Spring原生應(yīng)用中需要用到commons-logging,需要把它exclude掉,另外引入jcl-over-slf4j-->
<!--你會發(fā)現(xiàn)jcl-over-slf4j 只是改寫了commons-logging 去兼容Spring-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <exclusions>
        <exclusion>
            <artifactId>commons-logging</artifactId>
            <groupId>commons-logging</groupId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
    <version>${slf4j.version}</version>
    <scope>runtime</scope>
</dependency>
<!-- 如果代碼中依賴的jar包用到了log4j1.2.X,當(dāng)工程中將log4j1.2.X排除掉了之后,項目啟動時會報錯不成功的 -->
<!-- 把下面這個jar引入進(jìn)來就OK了 -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>log4j-over-slf4j</artifactId>
    <version>${slf4j.version}</version>
</dependency>

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

相關(guān)文章

  • 通過Spring Boot + Mybatis + Redis快速搭建現(xiàn)代化Web項目

    通過Spring Boot + Mybatis + Redis快速搭建現(xiàn)代化Web項目

    本篇文章介紹了如何通過Spring Boot、Mybatis以及Redis快速搭建一個現(xiàn)代化的Web項目,并且同時介紹了如何在Spring Boot下優(yōu)雅地書寫單元測試來保證我們的代碼質(zhì)量。具體內(nèi)容詳情大家通過本文學(xué)習(xí)下吧
    2017-12-12
  • Java中Math類常用方法代碼詳解

    Java中Math類常用方法代碼詳解

    本文是小編最新給大家整理的關(guān)于Java中Math類常用方法的知識,通過實例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2017-07-07
  • 利用POI生成EXCEL文件的方法實例

    利用POI生成EXCEL文件的方法實例

    Apache POI 是用Java編寫的免費開源的跨平臺的 Java API,Apache POI提供API給Java程式對Microsoft Office格式檔案讀和寫的功能,下面這篇文章主要給大家介紹了關(guān)于利用POI生成EXCEL文件的相關(guān)資料,需要的朋友可以參考下
    2018-07-07
  • java中用String.Join美化代碼的實例講解

    java中用String.Join美化代碼的實例講解

    在本篇文章里小編給大家整理的是一篇關(guān)于java中用String.Join美化代碼的實例講解內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • SpringBoot單機限流的實現(xiàn)

    SpringBoot單機限流的實現(xiàn)

    在系統(tǒng)運維中, 有時候為了避免用戶的惡意刷接口, 會加入一定規(guī)則的限流,本文主要介紹了SpringBoot單機限流的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • Java的Hello World詳解

    Java的Hello World詳解

    當(dāng)我們學(xué)習(xí)一門編程語言的時候,我們都會先學(xué)如何輸出Hello World!本文通過幾個例子給大家介紹輸出Hello World的代碼,感興趣的朋友一起看看吧
    2021-09-09
  • springboot2.x使用Jsoup防XSS攻擊的實現(xiàn)

    springboot2.x使用Jsoup防XSS攻擊的實現(xiàn)

    這篇文章主要介紹了springboot2.x使用Jsoup防XSS攻擊的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • java控制臺輸出圖書館管理系統(tǒng)

    java控制臺輸出圖書館管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java控制臺輸出圖書館管理系統(tǒng),只用java代碼不用數(shù)據(jù)庫和GUI等,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • mybatis-plus如何使用mapper的xml

    mybatis-plus如何使用mapper的xml

    這篇文章主要介紹了mybatis-plus如何使用mapper的xml問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • springboot啟動前執(zhí)行方法的四種方式總結(jié)

    springboot啟動前執(zhí)行方法的四種方式總結(jié)

    這篇文章主要給大家介紹了關(guān)于springboot啟動前執(zhí)行方法的四種方式,文中通過實例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-01-01

最新評論

棋牌| 永川市| 鄯善县| 闽清县| 郧西县| 柏乡县| 上饶县| 原阳县| 微博| 大厂| 洛隆县| 宁津县| 黄龙县| 唐山市| 班玛县| 金塔县| 延庆县| 三亚市| 荣成市| 沙洋县| 巧家县| 牡丹江市| 鄂尔多斯市| 林州市| 阳朔县| 万全县| 临城县| 大余县| 仙桃市| 汾西县| 淳安县| 台南市| 公主岭市| 夏邑县| 大化| 横山县| 保德县| 青浦区| 巴南区| 民县| 贺兰县|