91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

springboot2中怎么配置log4j2日志

發布時間:2021-08-05 16:21:27 來源:億速云 閱讀:341 作者:Leah 欄目:編程語言

本篇文章給大家分享的是有關springboot2中怎么配置log4j2日志,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

一、常用日志框架

  • java.util.logging:是JDK在1.4版本中引入的Java原生日志框架

  • Log4j:Apache的一個開源項目,可以控制日志信息輸送的目的地是控制臺、文件、GUI組件等,可以控制每一條日志的輸出格式,這些可以通過一個配置文件來靈活地進行配置,而不需要修改應用的代碼。雖然已經停止維護了,但目前絕大部分企業都是用的log4j。

  • LogBack:是Log4j的一個改良版本

  • Log4j2:Log4j2已經不僅僅是Log4j的一個升級版本了,它從頭到尾都被重寫了

性能分析logback-->log4j-->log4j2,盡量考慮使用log4j2

springboot2中怎么配置log4j2日志

二、springboot2整合log4j2

2.1 pom.xml去除spring-boot-starter-logging,添加spring-boot-starter-log4j2;

參考官網

https://docs.spring.io/spring-boot/docs/1.5.19.RELEASE/reference/htmlsingle/#howto-configure-log4j-for-logging

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <exclusions><!-- 去掉springboot默認配置 -->
                <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><!-- 去掉springboot默認配置 -->  
                <exclusion>  
                    <groupId>org.springframework.boot</groupId>  
                    <artifactId>spring-boot-starter-logging</artifactId>  
                </exclusion>  
            </exclusions>
        </dependency>
        <!-- 引入log4j2依賴 -->  
        <dependency> 
            <groupId>org.springframework.boot</groupId>  
            <artifactId>spring-boot-starter-log4j2</artifactId>  
        </dependency> 

       <!-- log4j2 AsyncLogger need disruptor   -->
        <dependency>
            <groupId>com.lmax</groupId>
            <artifactId>disruptor</artifactId>
            <version>3.4.4</version>
        </dependency>


       2.2  log4j2.xml配置參數,特別注意不是 log4j2-spring.xml文件放到resource文件夾下面

<?xml version="1.0" encoding="UTF-8"?>
<!--Configuration后面的status,這個用于設置log4j2自身內部的信息輸出,可以不設置,當設置成trace時,你會看到log4j2內部各種詳細輸出-->
<!--monitorInterval:Log4j能夠自動檢測修改配置 文件和重新配置本身,設置間隔秒數-->
<configuration monitorInterval="5">
  <!--日志級別以及優先級排序: 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{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" />
    <!-- 定義日志存儲的路徑 -->
    <property name="FILE_PATH" value="/home/logs" />
    <!-- 項目名稱 -->
    <property name="FILE_NAME" value="project" />
    
  </Properties>

  <appenders>

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

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

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

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

    <!-- 這個會打印出所有的error及以下級別的信息,每次大小超過size,則這size大小的日志會自動存入按年份-月份建立的文件夾下面并進行壓縮,作為存檔-->
    <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屬性用來指定多久滾動一次,默認是1 hour-->
        <TimeBasedTriggeringPolicy interval="1"/>
        <SizeBasedTriggeringPolicy size="10MB"/>
      </Policies>
      <!-- DefaultRolloverStrategy屬性如不設置,則默認為最多同一文件夾下7個文件開始覆蓋-->
      <DefaultRolloverStrategy max="15"/>
    </RollingFile>

  </appenders>

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

    <!--過濾掉spring和mybatis的一些無用的DEBUG信息-->
    <logger name="org.mybatis" level="info" additivity="false">
      <AppenderRef ref="Console"/>
    </logger>
    <!--監控系統信息-->
    <!--若是additivity設為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>

   <!--   異步日志單獨引用具體實現類impl   -->
        <!--
           <AsyncLogger name="com.lihp.service.serviceImpl.NewsServiceImpl" level="trace" includeLocation="true"   >
                 <AppenderRef ref="RollingFileInfo"/>
                 <AppenderRef ref="RollingFileWarn"/>
                 <AppenderRef ref="RollingFileError"/>
           </AsyncLogger>
         -->


  </loggers>

</configuration>

結果:

springboot2中怎么配置log4j2日志

以上就是springboot2中怎么配置log4j2日志,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

连州市| 黄大仙区| 伊春市| 泗洪县| 定结县| 贡山| 清徐县| 鲁甸县| 油尖旺区| 会泽县| 旅游| 新营市| 茶陵县| 华宁县| 温泉县| 赞皇县| 邵武市| 龙胜| 奉化市| 莱州市| 新晃| 鞍山市| 垫江县| 晋宁县| 宁海县| 开封市| 秀山| 金阳县| 原平市| 资讯| 轮台县| 陕西省| 辛集市| 开阳县| 嘉鱼县| 万荣县| 衡阳市| 施甸县| 绥滨县| 霍城县| 来宾市|