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

淺談spring boot 集成 log4j 解決與logback沖突的問題

 更新時(shí)間:2020年02月20日 09:14:33   作者:思念是荒蕪的夢  
今天小編就為大家分享一篇淺談spring boot 集成 log4j 解決與logback沖突的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

現(xiàn)在很流行springboot的開發(fā),小編閑來無事也學(xué)了學(xué),開發(fā)過程中遇見了log4j日志的一個(gè)小小問題,特此記載。

首先在pox.xml中引入對(duì)應(yīng)的maven依賴:

    <!-- 引入log4j-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-log4j</artifactId>
      <version>1.3.8.RELEASE</version>
    </dependency>

然后在src/resources/下新建log4j.properties文件(摘抄自網(wǎng)上):

log4j.rootLogger=info,error,CONSOLE,DEBUG
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n
log4j.logger.info=info
log4j.appender.info=org.apache.log4j.DailyRollingFileAppender
log4j.appender.info.layout=org.apache.log4j.PatternLayout
log4j.appender.info.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n
log4j.appender.info.datePattern='.'yyyy-MM-dd
log4j.appender.info.Threshold = info
log4j.appender.info.append=true
log4j.appender.info.File=d://springboot3/logs/api_services_info.log
log4j.logger.error=error
log4j.appender.error=org.apache.log4j.DailyRollingFileAppender
log4j.appender.error.layout=org.apache.log4j.PatternLayout
log4j.appender.error.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n
log4j.appender.error.datePattern='.'yyyy-MM-dd
log4j.appender.error.Threshold = error
log4j.appender.error.append=true
log4j.appender.error.File=d://springboot3/logs/error/api_services_error.log
log4j.logger.DEBUG=DEBUG
log4j.appender.DEBUG=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DEBUG.layout=org.apache.log4j.PatternLayout
log4j.appender.DEBUG.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n
log4j.appender.DEBUG.datePattern='.'yyyy-MM-dd
log4j.appender.DEBUG.Threshold = DEBUG
log4j.appender.DEBUG.append=true
log4j.appender.DEBUG.File=d://springboot3/logs/debug/api_services_debug.log

在application.yml中加入如下配置:

logging:
 config: src/main/resources/log4j.properties

至此,log4j的配置完畢,啟動(dòng)項(xiàng)目,發(fā)現(xiàn)會(huì)報(bào)錯(cuò):

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/Users/tony/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/tony/.m2/repository/org/slf4j/slf4j-log4j12/1.7.25/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
12:02:26.963 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - Included patterns for restart : []
12:02:26.969 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - Excluded patterns for restart : [/spring-boot-actuator/target/classes/, /spring-boot-devtools/target/classes/, /spring-boot/target/classes/, /spring-boot-starter-[\w-]+/, /spring-boot-autoconfigure/target/classes/, /spring-boot-starter/target/classes/]
12:02:26.969 [main] DEBUG org.springframework.boot.devtools.restart.ChangeableUrls - Matching URLs for reloading : [file:/F:/work_intel/code/demo1/target/classes/]
Logging system failed to initialize using configuration from 'src/main/resources/log4j.properties'

這是因?yàn)榕clogback的沖突并未解決,導(dǎo)致啟動(dòng)失敗,根據(jù)上面的報(bào)錯(cuò)信息,找到logback-classic-1.2.3.jar和slf4j-log4j12-1.7.25.jar的相應(yīng)位置刪除,并在pom.xml中加入如下排除代碼:

   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      <!-- 排除默認(rèn)的logback日志,使用log4j-->
      <exclusions>
        <exclusion>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

啟動(dòng)發(fā)現(xiàn)一切正常,至此,log4j的配置完畢。

以上這篇淺談spring boot 集成 log4j 解決與logback沖突的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Selenium自動(dòng)化測試工具使用方法匯總

    Selenium自動(dòng)化測試工具使用方法匯總

    這篇文章主要介紹了Selenium自動(dòng)化測試工具使用方法匯總,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Python?異步等待任務(wù)集合

    Python?異步等待任務(wù)集合

    這篇文章主要為大家介紹了Python?異步等待任務(wù)集合,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Matplotlib自定義坐標(biāo)刻度的使用示例

    Matplotlib自定義坐標(biāo)刻度的使用示例

    雖然matplotlib默認(rèn)的坐標(biāo)軸定位器與格式生成器可以滿足大部分需求,但是并非對(duì)每一幅圖都合適,本文主要介紹了Matplotlib自定義坐標(biāo)刻度的使用示例,感興趣的可以了解一下
    2023-11-11
  • Python實(shí)現(xiàn)找出數(shù)組中第2大數(shù)字的方法示例

    Python實(shí)現(xiàn)找出數(shù)組中第2大數(shù)字的方法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)找出數(shù)組中第2大數(shù)字的方法,涉及Python針對(duì)數(shù)組的排序、遍歷等相關(guān)操作技巧,需要的朋友可以參考下
    2018-03-03
  • Python可視化最頻繁使用的10大工具總結(jié)

    Python可視化最頻繁使用的10大工具總結(jié)

    數(shù)據(jù)可視化是數(shù)據(jù)科學(xué)中不可缺少的一部分,下面這篇文章主要給大家介紹了關(guān)于Python可視化最頻繁使用的10大工具,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • 如何通過python代碼根據(jù)模板修改變量生成新yaml文件

    如何通過python代碼根據(jù)模板修改變量生成新yaml文件

    有些時(shí)候,需要根據(jù)一個(gè)yaml模板創(chuàng)建多個(gè)yaml文件實(shí)例,我們先寫一個(gè)yaml文件模板,然后通過python代碼修改模板中的變量,存儲(chǔ)為一個(gè)新的yaml文件,需要配合python的庫Template及ymal使用,本文給大家講解的非常詳細(xì),需要的朋友跟隨小編一起看看吧
    2023-11-11
  • Python元字符的用法實(shí)例解析

    Python元字符的用法實(shí)例解析

    這篇文章主要介紹了Python元字符的用法實(shí)例解析,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Django配置celery(非djcelery)執(zhí)行異步任務(wù)和定時(shí)任務(wù)

    Django配置celery(非djcelery)執(zhí)行異步任務(wù)和定時(shí)任務(wù)

    這篇文章主要介紹了Django配置celery(非djcelery)執(zhí)行異步任務(wù)和定時(shí)任務(wù),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • Python socket模塊ftp傳輸文件過程解析

    Python socket模塊ftp傳輸文件過程解析

    這篇文章主要介紹了Python socket模塊ftp傳輸文件過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • 深入理解Python裝飾器

    深入理解Python裝飾器

    裝飾器(decorator)是一種高級(jí)Python語法。裝飾器可以對(duì)一個(gè)函數(shù)、方法或者類進(jìn)行加工。這篇文章主要介紹了深入理解Python裝飾器的相關(guān)資料,需要的朋友可以參考下
    2016-07-07

最新評(píng)論

延津县| 延吉市| 驻马店市| 黔东| 泰顺县| 剑川县| 承德市| 杭锦旗| 防城港市| 铁岭市| 卢氏县| 石门县| 兰州市| 游戏| 广河县| 民丰县| 墨玉县| 永川市| 万州区| 临澧县| 永康市| 陈巴尔虎旗| 永昌县| 阜阳市| 五大连池市| 宁远县| 青州市| 大城县| 泾川县| 雅江县| 长泰县| 根河市| 上犹县| 军事| 石屏县| 井冈山市| 溧阳市| 湘潭县| 正定县| 旬阳县| 青田县|