Springboot+JPA打印SQL日志過(guò)程
Springboot+JPA打印SQL日志
pom.xml 添加lombox插件
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
application.yml 配置
# Spring
spring:
#配置 Jpa
jpa:
show-sql: true #打印執(zhí)行的sql語(yǔ)句,false則不打印sql
properties:
hibernate:
ddl-auto: none
dialect: org.hibernate.dialect.MySQL5InnoDBDialect
open-in-view: true
logback.xml 配置
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 日志存放路徑 -->
<property name="log.path" value="/home/logs" />
<!-- 日志輸出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} %-5level %logger{20}:%line - %msg%n" />
<!-- 控制臺(tái)輸出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- 系統(tǒng)日志輸出 -->
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/run-info.log</file>
<!-- 循環(huán)政策:基于時(shí)間創(chuàng)建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/run-info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的歷史 10天 -->
<maxHistory>10</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 過(guò)濾的級(jí)別 -->
<level>INFO</level>
<!-- 匹配時(shí)的操作:接收(記錄) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配時(shí)的操作:拒絕(不記錄) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/run-error.log</file>
<!-- 循環(huán)政策:基于時(shí)間創(chuàng)建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/run-error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的歷史 60天 -->
<maxHistory>10</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 過(guò)濾的級(jí)別 -->
<level>ERROR</level>
<!-- 匹配時(shí)的操作:接收(記錄) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配時(shí)的操作:拒絕(不記錄) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 系統(tǒng)模塊日志級(jí)別控制,可根據(jù)實(shí)際情況修改 -->
<logger name="com.test" level="info" />
<!-- Spring日志級(jí)別控制 -->
<logger name="org.springframework" level="warn" />
<!-- JPA日志級(jí)別控制,必須這樣配置 -->
<logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE" />
<logger name="org.hibernate.SQL" level="info" />
<logger name="org.hibernate.engine.QueryParameters" level="info" />
<!--系統(tǒng)操作日志-->
<root level="info">
<appender-ref ref="console" />
<appender-ref ref="file_info" />
<appender-ref ref="file_error" />
</root>
</configuration>
效果
Hibernate: select bizactivit0_.id as id1_0_, bizactivit0_.code as code2_0_, bizactivit0_.content as content3_0_, bizactivit0_.create_time as create_t4_0_, bizactivit0_.creator as creator5_0_, bizactivit0_.enabled as enabled6_0_, bizactivit0_.end_time as end_time7_0_, bizactivit0_.name as name13_0_, bizactivit0_.sort as sort16_0_, bizactivit0_.start_time as start_t17_0_, bizactivit0_.status as status18_0_ from biz_activity bizactivit0_ where bizactivit0_.name like ? order by bizactivit0_.id desc limit ? 11:48:38.169 TRACE o.h.t.d.s.BasicBinder:64 - binding parameter [1] as [VARCHAR] - [%活動(dòng)名稱%]
活動(dòng)名稱 是從前端傳過(guò)來(lái)的值,可以看到sql語(yǔ)句和查詢參數(shù)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
macOS上使用gperftools定位Java內(nèi)存泄漏問(wèn)題及解決方案
這篇文章主要介紹了macOS上使用gperftools定位Java內(nèi)存泄漏問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
SpringBoot實(shí)現(xiàn)分布式驗(yàn)證碼登錄方案小結(jié)
驗(yàn)證碼登錄作為一種有效的防護(hù)手段,可以防止惡意gongji、暴力pojie等,本文主要介紹了SpringBoot實(shí)現(xiàn)分布式驗(yàn)證碼登錄方案小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下2024-12-12
Spring Boot集成mongodb數(shù)據(jù)庫(kù)過(guò)程解析
這篇文章主要介紹了Spring Boot集成mongodb數(shù)據(jù)庫(kù)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
Spring?Boot簡(jiǎn)單實(shí)現(xiàn)文件上傳功能
這篇文章主要介紹了Spring?Boot簡(jiǎn)單實(shí)現(xiàn)文件上傳功能,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-08-08
javaSE泛型、反射與注解的核心原理與實(shí)際應(yīng)用
在日常開發(fā)中,必不可少的會(huì)使用到泛型,這篇文章主要介紹了javaSE泛型、反射與注解的核心原理與實(shí)際應(yīng)用的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-08-08
MyEclipse去除網(wǎng)上復(fù)制下來(lái)的代碼帶有的行號(hào)(正則去除行號(hào))
這篇文章主要介紹了MyEclipse去除網(wǎng)上復(fù)制下來(lái)的代碼帶有的行號(hào)(正則去除行號(hào))的相關(guān)資料,需要的朋友可以參考下2017-10-10
Java/Android 實(shí)現(xiàn)簡(jiǎn)單的HTTP服務(wù)器
這篇文章主要介紹了Java/Android 如何實(shí)現(xiàn)簡(jiǎn)單的HTTP服務(wù)器,幫助大家更好的進(jìn)行功能測(cè)試,感興趣的朋友可以了解下2020-10-10

