欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot項目的logback日志配置(包括打印mybatis的sql語句)

 更新時間:2020年09月15日 11:37:03   作者:深寒丶  
這篇文章主要介紹了SpringBoot項目的logback日志配置(包括打印mybatis的sql語句),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

關(guān)于logback日志的詳解見這位仁兄的博客:Spring Boot-日志配置(超詳細(xì))
我在這就開門見山直接介紹我們項目日志的配置使用吧!~

1、基本介紹

默認(rèn)情況下,Spring Boot項目就會用Logback來記錄日志,并用INFO級別輸出到控制臺。如下圖:

這里寫圖片描述

實際開發(fā)中我們不需要直接添加logback日志依賴。
你會發(fā)現(xiàn) spring-boot-starter 其中包含了 spring-boot-starter-logging,該依賴內(nèi)容就是 Spring Boot 默認(rèn)的日志框架 logback。

日志級別從低到高分為:

TRACE < DEBUG < INFO < WARN < ERROR < FATAL

只能展示大于或等于設(shè)置的日志級別的日志;也就是說springboot默認(rèn)級別為INFO,那么在控制臺展示的日志級別只有INFO 、WARN、ERROR、FATAL

2、logback.xml日志文件配置

根據(jù)不同的日志系統(tǒng),你可以按如下規(guī)則組織配置文件名,就能被正確加載:

  • Logback:logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy
  • Log4j:log4j-spring.properties, log4j-spring.xml, log4j.properties, log4j.xml
  • Log4j2:log4j2-spring.xml, log4j2.xml
  • JDK (Java Util Logging):logging.properties

Spring Boot官方推薦優(yōu)先使用帶有 -spring 的文件名作為你的日志配置(如使用 logback-spring.xml ,而不是logback.xml),命名為logback-spring.xml的日志配置文件,spring boot可以為它添加一些spring boot特有的配置項(下面會提到)。
默認(rèn)的命名規(guī)則,并且放在 src/main/resources 下如果你即想完全掌控日志配置,但又不想用logback.xml作為Logback配置的名字,application.yml可以通過logging.config屬性指定自定義的名字:

logging.config=classpath:logging-config.xml

這里寫代碼片雖然一般并不需要改變配置文件的名字,但是如果你想針對不同運行時Profile使用不同的日志配置,這個功能會很有用。

這里寫圖片描述

我們項目的日志配置內(nèi)容:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <!-- 此xml在spring-boot-1.5.3.RELEASE.jar里 -->
  <include resource="org/springframework/boot/logging/logback/defaults.xml" />
  <include resource="org/springframework/boot/logging/logback/console-appender.xml" />
  <!-- 開啟后可以通過jmx動態(tài)控制日志級別(springboot Admin的功能) -->
  <!--<jmxConfigurator/>-->

  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <!--<File>/home/hfw-client/hfw_log/stdout.log</File>-->
    <File>D:/log/hfw-client/hfw_log/stdout.log</File>
    <encoder>
      <pattern>%date [%level] [%thread] %logger{60} [%file : %line] %msg%n</pattern>
    </encoder>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <!-- 添加.gz 歷史日志會啟用壓縮 大大縮小日志文件所占空間 -->
      <!--<fileNamePattern>/home/hfw-client/hfw_log/stdout.log.%d{yyyy-MM-dd}.log</fileNamePattern>-->
      <fileNamePattern>D:/log/hfw-client/hfw_log/stdout.log.%d{yyyy-MM-dd}.log</fileNamePattern>
      <maxHistory>30</maxHistory><!-- 保留30天日志 -->
    </rollingPolicy>
  </appender>

  <logger name="com.moerlong.hfw.dao" level="DEBUG" />

  <root level="INFO">
    <appender-ref ref="CONSOLE"/>
    <appender-ref ref="FILE"/>
  </root>
</configuration>

3、打印mybatis的sql語句

比較蠢的方法是直接把root標(biāo)簽的level屬性改為DEBUG

<root level="DEBUG">
   <appender-ref ref="CONSOLE"/>
   <appender-ref ref="FILE"/>
</root>

這個改為DEBUG則會打印最詳細(xì)的日志,包括mybatis的sql語句(量太大建議開發(fā)測試時才用)

這里寫圖片描述

我們一般針對DAO的包進(jìn)行DEBUG日志設(shè)置:

<logger name="com.moerlong.hfw.dao" level="DEBUG" />

這樣的話,只打印SQL語句:

這里寫圖片描述

4、代碼里打印日志

之前我們大多數(shù)時候自己在每個類創(chuàng)建日志對象去打印信息,比較麻煩:

private static final Logger logger = LoggerFactory.getLogger(YjServiceImpl.class);
 logger.error("xxx");

現(xiàn)在可以直接在類上通過 @Slf4j 標(biāo)簽去聲明式注解日志對象
先在pom.xml中添加依賴:

<!--@Slf4j自動化日志對象-log-->
<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <version>1.16.16</version>
</dependency>

然后就直接可以使用了:

@Slf4j
@RestController
public class HfwController {
  log.info("");
}

到此這篇關(guān)于SpringBoot項目的logback日志配置(包括打印mybatis的sql語句)的文章就介紹到這了,更多相關(guān)SpringBoot logback日志配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MyBatis在Mapper中傳遞多個參數(shù)的四種方法詳解

    MyBatis在Mapper中傳遞多個參數(shù)的四種方法詳解

    這篇文章主要介紹了MyBatis在Mapper中傳遞多個參數(shù)的四種方法,文章通過代碼示例介紹的非常詳細(xì),具有一定的參考價值,,需要的朋友可以參考下
    2023-09-09
  • java編程是做什么的

    java編程是做什么的

    在本篇文章里小編給大家整理的是一篇關(guān)于java編程是什么相關(guān)的基礎(chǔ)知識點內(nèi)容,有興趣的朋友們可以閱讀下。
    2021-01-01
  • SpringBoot預(yù)加載與懶加載實現(xiàn)方法超詳細(xì)講解

    SpringBoot預(yù)加載與懶加載實現(xiàn)方法超詳細(xì)講解

    Spring一直被詬病啟動時間慢,可Spring/SpringBoot是輕量級的框架。因為當(dāng)Spring項目越來越大的時候,在啟動時加載和初始化Bean就會變得越來越慢,很多時候我們在啟動時并不需要加載全部的Bean,在調(diào)用時再加載就行,那這就需要預(yù)加載與懶加載的功能了
    2022-11-11
  • 詳解解決IDEA2020.1版本的lombok插件問題

    詳解解決IDEA2020.1版本的lombok插件問題

    這篇文章主要介紹了詳解解決IDEA2020.1版本的lombok插件問題。文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Maven的國內(nèi)鏡像(快速解決jar下載過慢的問題)

    Maven的國內(nèi)鏡像(快速解決jar下載過慢的問題)

    下面小編就為大家?guī)硪黄狹aven的國內(nèi)鏡像(快速解決jar下載過慢的問題)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Java面試之SQL語句題經(jīng)典案例

    Java面試之SQL語句題經(jīng)典案例

    本文詳細(xì)討論了如何將行數(shù)據(jù)轉(zhuǎn)化為列數(shù)據(jù),并提供了多種SQL查詢練習(xí)題,包括查詢特定條件的學(xué)生信息、課程成績比較、學(xué)生成績排名等,文章還解釋了在SQL中使用Union、UnionAll和pivot的方法,以及如何處理復(fù)雜的SQL查詢問題,需要的朋友可以參考下
    2024-10-10
  • java中的阻塞隊列應(yīng)用場景及代碼實例

    java中的阻塞隊列應(yīng)用場景及代碼實例

    這篇文章主要介紹了java中的阻塞隊列應(yīng)用場景及代碼實例阻塞隊列是一種特殊的隊列,它提供了線程安全的操作,并在隊列為空或滿時提供了阻塞的功能,阻塞隊列通常用于多線程場景,其中生產(chǎn)者線程向隊列中添加元素,而消費者線程從隊列中獲取元素,需要的朋友可以參考下
    2024-01-01
  • Volatile關(guān)鍵字的使用案例

    Volatile關(guān)鍵字的使用案例

    這篇文章主要介紹了Volatile關(guān)鍵字的作用,Volatile關(guān)鍵字的作用主要有兩個,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • springboot入門篇HelloWorld(圖文教程)

    springboot入門篇HelloWorld(圖文教程)

    springboot?springboot是一個全新的框架,它設(shè)計的目的簡化spring項目的初始環(huán)境的搭建和開發(fā),下面這篇文章主要給大家介紹了關(guān)于springboot入門篇HelloWorld的相關(guān)資料,需要的朋友可以參考下
    2023-12-12
  • Spring中BeanFactory?FactoryBean和ObjectFactory的三種的區(qū)別

    Spring中BeanFactory?FactoryBean和ObjectFactory的三種的區(qū)別

    關(guān)于FactoryBean?和?BeanFactory的對比文章比較多,但是對ObjectFactory的描述就比較少,今天我們對比下這三種的區(qū)別,感興趣的朋友跟隨小編一起看看吧
    2023-01-01

最新評論