亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Spring boot整合log4j2過程解析

 更新時間:2019年12月03日 10:01:16   作者:慕塵  
這篇文章主要介紹了Spring boot整合log4j2過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

這篇文章主要介紹了Spring boot整合log4j2過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

以前整合過log4j2,但是今天再次整合發(fā)現(xiàn)都忘記了,而且也沒有記下來

1.pom.xml中

(1)把spring-boot-starter-web包下面的spring-boot-starter-logging排除

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
   <!--排除這個slf4j-log4j12-->
   <exclusions>
     <exclusion>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-logging</artifactId>
     </exclusion>
   </exclusions>
</dependency>

說明:

如果不先排除掉自帶的log,會出現(xiàn)如下錯誤

SLF4J: Class path contains multiple SLF4J bindings.

(2)引入spring-boot-starter-log4j2包

<!--log4j2 日志框架-->
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

2.添加log4j2配置文件

在src\main\resources添加log4j2-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<!--Configuration后面的status,這個用于設(shè)置log4j2自身內(nèi)部的信息輸出,可以不設(shè)置,當(dāng)設(shè)置成trace時,你會看到log4j2內(nèi)部各種詳細(xì)輸出-->
<!--monitorInterval:Log4j能夠自動檢測修改配置 文件和重新配置本身,設(shè)置間隔秒數(shù)-->
<configuration monitorInterval="5">
  <!--日志級別以及優(yōu)先級排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->

  <!--變量配置-->
  <Properties>
    <!-- 格式化輸出:%date表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度 %msg:日志消息,%n是換行符-->
    <!-- %logger{36} 表示 Logger 名字最長36個字符 -->
    <property name="LOG_PATTERN" value="%date{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" />
    <!-- 定義日志存儲的路徑,不要配置相對路徑 -->
    <property name="FILE_PATH" value="log" />
    <property name="FILE_NAME" value="myLog.log" />
  </Properties>

  <appenders>

    <console name="Console" target="SYSTEM_OUT">
      <!--輸出日志的格式-->
      <PatternLayout pattern="${LOG_PATTERN}"/>
      <!--控制臺只輸出level及其以上級別的信息(onMatch),其他的直接拒絕(onMismatch)-->
      <ThresholdFilter level="FATAL" onMatch="ACCEPT" onMismatch="DENY"/>
    </console>

    <!--文件會打印出所有信息,這個log每次運(yùn)行程序會自動清空,由append屬性決定,適合臨時測試用-->
    <File name="Filelog" fileName="${FILE_PATH}/test.log" append="false">
      <PatternLayout pattern="${LOG_PATTERN}"/>
    </File>

    <!-- 這個會打印出所有的info及以下級別的信息,每次大小超過size,則這size大小的日志會自動存入按年份-月份建立的文件夾下面并進(jìn)行壓縮,作為存檔-->
    <RollingFile name="RollingFileInfo" fileName="${FILE_PATH}/info.log" filePattern="${FILE_PATH}/${FILE_NAME}-INFO-%d{yyyy-MM-dd}_%i.log.gz">
      <!--控制臺只輸出level及以上級別的信息(onMatch),其他的直接拒絕(onMismatch)-->
      <Filters>
        <ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL"/>
        <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
      </Filters>
      <PatternLayout pattern="${LOG_PATTERN}"/>
      <Policies>
        <!--interval屬性用來指定多久滾動一次,默認(rèn)是1 hour-->
        <TimeBasedTriggeringPolicy interval="1"/>
        <SizeBasedTriggeringPolicy size="10MB"/>
      </Policies>
      <!-- DefaultRolloverStrategy屬性如不設(shè)置,則默認(rèn)為最多同一文件夾下7個文件開始覆蓋-->
      <DefaultRolloverStrategy max="15"/>
    </RollingFile>

    <!-- 這個會打印出所有的warn及以下級別的信息,每次大小超過size,則這size大小的日志會自動存入按年份-月份建立的文件夾下面并進(jìn)行壓縮,作為存檔-->
    <RollingFile name="RollingFileWarn" fileName="${FILE_PATH}/warn.log" filePattern="${FILE_PATH}/${FILE_NAME}-WARN-%d{yyyy-MM-dd}_%i.log.gz">
      <!--控制臺只輸出level及以上級別的信息(onMatch),其他的直接拒絕(onMismatch)-->
      <Filters>
        <ThresholdFilter level="error" onMatch="DENY" onMismatch="NEUTRAL"/>
        <ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/>
      </Filters>
      <PatternLayout pattern="${LOG_PATTERN}"/>
      <Policies>
        <!--interval屬性用來指定多久滾動一次,默認(rèn)是1 hour-->
        <TimeBasedTriggeringPolicy interval="1"/>
        <SizeBasedTriggeringPolicy size="10MB"/>
      </Policies>
      <!-- DefaultRolloverStrategy屬性如不設(shè)置,則默認(rèn)為最多同一文件夾下7個文件開始覆蓋-->
      <DefaultRolloverStrategy max="15"/>
    </RollingFile>

    <!-- 這個會打印出所有的error及以下級別的信息,每次大小超過size,則這size大小的日志會自動存入按年份-月份建立的文件夾下面并進(jìn)行壓縮,作為存檔-->
    <RollingFile name="RollingFileError" fileName="${FILE_PATH}/error.log" filePattern="${FILE_PATH}/${FILE_NAME}-ERROR-%d{yyyy-MM-dd}_%i.log.gz">
      <!--控制臺只輸出level及以上級別的信息(onMatch),其他的直接拒絕(onMismatch)-->
      <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
      <PatternLayout pattern="${LOG_PATTERN}"/>
      <Policies>
        <!--interval屬性用來指定多久滾動一次,默認(rèn)是1 hour-->
        <TimeBasedTriggeringPolicy interval="1"/>
        <SizeBasedTriggeringPolicy size="10MB"/>
      </Policies>
      <!-- DefaultRolloverStrategy屬性如不設(shè)置,則默認(rèn)為最多同一文件夾下7個文件開始覆蓋-->
      <DefaultRolloverStrategy max="15"/>
    </RollingFile>

  </appenders>

  <!--Logger節(jié)點用來單獨(dú)指定日志的形式,比如要為指定包下的class指定不同的日志級別等。-->
  <!--然后定義loggers,只有定義了logger并引入的appender,appender才會生效-->
  <loggers>

    <!--監(jiān)控系統(tǒng)信息-->
    <!--若是additivity設(shè)為false,則 子Logger 只會在自己的appender里輸出,而不會在 父Logger 的appender里輸出。-->
    <Logger name="org.springframework" level="info" additivity="false">
      <AppenderRef ref="Console"/>
    </Logger>

    <root level="info">
      <appender-ref ref="Console"/>
      <appender-ref ref="Filelog"/>
      <appender-ref ref="RollingFileInfo"/>
      <appender-ref ref="RollingFileWarn"/>
      <appender-ref ref="RollingFileError"/>
    </root>
  </loggers>

</configuration>

Java程序代碼中使用log4j2日志

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

private final Logger logger = LoggerFactory.getLogger(WebMvcConfigurer.class);
logger.error("this is error test");
log.info("this is info test");

啟動后會出現(xiàn)log目錄,同src在同一級

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決Springboot整合shiro時靜態(tài)資源被攔截的問題

    解決Springboot整合shiro時靜態(tài)資源被攔截的問題

    這篇文章主要介紹了解決Springboot整合shiro時靜態(tài)資源被攔截的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • 東八區(qū)springboot如何配置序列化

    東八區(qū)springboot如何配置序列化

    本文主要介紹了東八區(qū)springboot如何配置序列化,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • SpringBoot+Apache tika實現(xiàn)文檔內(nèi)容解析的示例詳解

    SpringBoot+Apache tika實現(xiàn)文檔內(nèi)容解析的示例詳解

    Apache tika是Apache開源的一個文檔解析工具,本文主要為大家介紹了如何在springboot中引入tika的方式解析文檔,感興趣的小伙伴可以了解一下
    2023-07-07
  • 深入理解窗口令牌WindowToken

    深入理解窗口令牌WindowToken

    這篇文章主要介紹了窗口令牌WindowToken的概念與作用,它是對應(yīng)用組件的行為進(jìn)行規(guī)范管理的一個手段。WindowToken由應(yīng)用組件或其管理者負(fù)責(zé)向WMS聲明并持有
    2021-08-08
  • Java?Nacos與Gateway的使用操作筆記

    Java?Nacos與Gateway的使用操作筆記

    Spring?Cloud?Gateway?是一個用于構(gòu)建?API?網(wǎng)關(guān)的框架,提供了多種服務(wù)路由、過濾和負(fù)載均衡的功能,這篇文章主要介紹了Java?Nacos與Gateway的使用操作筆記,需要的朋友可以參考下
    2024-08-08
  • springboot 自定義LocaleResolver實現(xiàn)切換語言

    springboot 自定義LocaleResolver實現(xiàn)切換語言

    我們在做項目的時候,往往有很多項目需要根據(jù)用戶的需要來切換不同的語言,使用國際化就可以輕松解決。這篇文章主要介紹了springboot 自定義LocaleResolver切換語言,需要的朋友可以參考下
    2019-10-10
  • JavaApi實現(xiàn)更新刪除及讀取節(jié)點

    JavaApi實現(xiàn)更新刪除及讀取節(jié)點

    這篇文章主要介紹了JavaApi實現(xiàn)更新刪除及讀取節(jié)點,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • java實現(xiàn)雙人五子棋游戲

    java實現(xiàn)雙人五子棋游戲

    這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)雙人五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • IDEA生成servlet程序的實現(xiàn)步驟

    IDEA生成servlet程序的實現(xiàn)步驟

    這篇文章主要介紹了IDEA生成servlet程序的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Spring+Junit4進(jìn)行接口測試實例代碼

    Spring+Junit4進(jìn)行接口測試實例代碼

    這篇文章主要介紹了Spring+Junit4進(jìn)行接口測試實例代碼,涉及pom.xml、bean的配置,以及接口測試代碼等相關(guān)內(nèi)容,小編覺得還是挺不錯的,這里分享給大家,需要的朋友可以參考下
    2018-01-01

最新評論