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

springboot log4j2不能打印框架錯(cuò)誤日志的解決方案

 更新時(shí)間:2021年08月09日 16:33:43   作者:xmind果果  
這篇文章主要介紹了springboot log4j2不能打印框架錯(cuò)誤日志的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

springboot log4j2為什么不能打印框架錯(cuò)誤日志

問(wèn)題

使用springboot時(shí)老的框架使用的是log4j2,為了兼容不能夠使用logback,按照網(wǎng)上的教程導(dǎo)入了log4j2但是不能夠輸入框架錯(cuò)誤日志,例如bean命名重復(fù),springmvc url映射重復(fù),這些都是開發(fā)中所需要的友好提示

解決方案

怎么出現(xiàn)的問(wèn)題,就不詳細(xì)描述了,原因是我引入的log42是散件不是基于springboot集成配置的,導(dǎo)致只能夠輸出基本信息,原理我會(huì)在 一個(gè)月后左右探究完畢補(bǔ)充。

下面我說(shuō)說(shuō)怎么正確用springboot輸出springboot框架錯(cuò)誤的

1. 排除原生logback日志,否則會(huì)沖突

  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
   <exclusions>
    <!-- spring boot 默認(rèn)的日志框架是Logback,所以在引用log4j之前,需要先排除該包的依賴,再引入log4j2的依賴 -->
    <exclusion>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-logging</artifactId>
    </exclusion>
   </exclusions>
  </dependency>

2. 引入集成springboot配置的log4j2

我出現(xiàn)的我問(wèn)題就是這里,我引入的是原先ssm用的log4j2導(dǎo)致,沒(méi)有正確注入,初始log4j失敗了,所以選擇最省事的法子,引入人家寫好的log4jpom

  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-log4j2</artifactId>
  </dependency>

可以看看人家默認(rèn)的pom.xml引入的log4j,就知道自己引用出錯(cuò)在哪里了

 <dependencies>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-slf4j-impl</artifactId>
      <version>2.10.0</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-core</artifactId>
      <version>2.10.0</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-jul</artifactId>
      <version>2.10.0</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jul-to-slf4j</artifactId>
      <version>1.7.25</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>

配置后的效果

如下圖所示,我寫了兩個(gè) @RequestMapping() value="listTree"的方法

    @RequestMapping("listTree")
    @ResponseBody
    public JsonResult getAreaTree() {
        List<AreaModel> all = areaService.findAll();
        all.forEach(x -> x.setName(x.getAreaName()));
        return new JsonResult(all);
    }
    @RequestMapping("listTree")
    @ResponseBody
    public JsonResult getAreaTree2() {
        List<AreaModel> all = areaService.findAll();
        all.forEach(x -> x.setName(x.getAreaName()));
        return new JsonResult(all);
    }

正確打印錯(cuò)誤日志

[reform]2019-01-09 09:31:47.570 [WARN]:Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'areaController' method
public com.ld.model.json.JsonResult com.ld.action.area.AreaController.getAreaTree2()
to {[/area/listTree]}: There is already 'areaController' bean method
public com.ld.model.json.JsonResult com.ld.action.area.AreaController.getAreaTree() mapped.   org.apache.commons.logging.impl.Jdk14Logger.log(Jdk14Logger.java:99)

springboot 2.0 log4j2日志打印問(wèn)題

日志不能正常打印,測(cè)試、線上環(huán)境未生成滾動(dòng)日志

日志文件配置:

控制臺(tái)信息:

解決辦法:

在pom 文件中

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <exclusions>
                <!-- 排除自帶的logback依賴 -->
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

或者:

    <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <!-- 排除自帶的logback依賴 -->
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

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

相關(guān)文章

  • hadoop實(shí)現(xiàn)grep示例分享

    hadoop實(shí)現(xiàn)grep示例分享

    這篇文章主要介紹了hadoop實(shí)現(xiàn)grep示例,可從文檔中提取包含某些字符串的行,需要的朋友可以參考下
    2014-03-03
  • Java中將File轉(zhuǎn)化為MultipartFile的操作

    Java中將File轉(zhuǎn)化為MultipartFile的操作

    這篇文章主要介紹了Java中將File轉(zhuǎn)化為MultipartFile的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10
  • Java-文件File簡(jiǎn)單實(shí)用方法(分享)

    Java-文件File簡(jiǎn)單實(shí)用方法(分享)

    下面小編就為大家?guī)?lái)一篇Java-文件File簡(jiǎn)單實(shí)用方法(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • Java的線程阻塞、中斷及優(yōu)雅退出方法詳解

    Java的線程阻塞、中斷及優(yōu)雅退出方法詳解

    這篇文章主要介紹了Java的線程阻塞、中斷及優(yōu)雅退出方法詳解,Java中的線程阻塞是指當(dāng)一個(gè)線程無(wú)法繼續(xù)執(zhí)行時(shí),它會(huì)進(jìn)入阻塞狀態(tài),直到某個(gè)條件滿足后才能繼續(xù)執(zhí)行,線程阻塞可以通過(guò)多種方式實(shí)現(xiàn),需要的朋友可以參考下
    2023-10-10
  • spring-redis-session 自定義 key 和過(guò)期時(shí)間

    spring-redis-session 自定義 key 和過(guò)期時(shí)間

    這篇文章主要介紹了spring-redis-session 自定義 key 和過(guò)期時(shí)間,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • SpringBoot接收接口入?yún)⒌姆绞叫〗Y(jié)

    SpringBoot接收接口入?yún)⒌姆绞叫〗Y(jié)

    這篇文章主要給大家介紹了SpringBoot接收接口入?yún)⒌膸追N方式,我們從調(diào)用方的視角去看待這個(gè)問(wèn)題,對(duì)調(diào)用方來(lái)說(shuō),它在調(diào)用接口時(shí)有好幾種傳參方式,下面,將會(huì)依次對(duì)這幾種參數(shù)方式進(jìn)行講解和代碼示例,需要的朋友可以參考下
    2024-01-01
  • SpringBoot結(jié)合mybatis-plus實(shí)現(xiàn)分頁(yè)的項(xiàng)目實(shí)踐

    SpringBoot結(jié)合mybatis-plus實(shí)現(xiàn)分頁(yè)的項(xiàng)目實(shí)踐

    本文主要介紹了SpringBoot結(jié)合mybatis-plus實(shí)現(xiàn)分頁(yè)的項(xiàng)目實(shí)踐,主要基于MyBatis-Plus 自帶的分頁(yè)插件 PaginationInterceptor,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • java多線程開啟的三種方式你知道嗎

    java多線程開啟的三種方式你知道嗎

    這篇文章主要為大家詳細(xì)介紹了java多線程開啟的三種方式,使用數(shù)據(jù)庫(kù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下<BR>
    2022-02-02
  • Java中jakarta.validation數(shù)據(jù)校驗(yàn)幾個(gè)主要依賴包講解

    Java中jakarta.validation數(shù)據(jù)校驗(yàn)幾個(gè)主要依賴包講解

    在Java開發(fā)中,BeanValidationAPI提供了一套標(biāo)準(zhǔn)的數(shù)據(jù)驗(yàn)證機(jī)制,尤其是通過(guò)JakartaBeanValidation(原HibernateValidator)實(shí)現(xiàn),文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09
  • Java?Handler同步屏障淺析講解

    Java?Handler同步屏障淺析講解

    同步屏障機(jī)制是什么?Handler發(fā)送的消息分為普通消息、屏障消息、異步消息,一旦Looper在處理消息時(shí)遇到屏障消息,那么就不再處理普通的消息,而僅僅處理異步的消息。不再使用屏障后,需要撤銷屏障,不然就再也執(zhí)行不到普通消息了
    2022-08-08

最新評(píng)論

吉首市| 曲阳县| 冀州市| 平谷区| 辰溪县| 永川市| 临清市| 万山特区| 库伦旗| 六枝特区| 遂平县| 平塘县| 肥城市| 霞浦县| 临桂县| 凤庆县| 资中县| 正镶白旗| 任丘市| 册亨县| 德江县| 蒲城县| 嵩明县| 于都县| 宜黄县| 建德市| 秭归县| 禹城市| 菏泽市| 嘉义市| 乐昌市| 盐城市| 叶城县| 梁河县| 龙南县| 开江县| 溧阳市| 故城县| 上虞市| 西藏| 八宿县|