SpringBoot JPA在控制台打印带参sql语句

博客介绍了Spring Data JPA的修改操作,包括在pom.xml中添加依赖,配置application.properties,新建log4jdbc.log4j2.properties文件,虽提及新建logback.xml文件,但表示不需要该文件,最后提到了修改后的效果。

修改

0. pom.xml添加依赖

  1. <!-- 监控sql日志-->

  2. <dependency>

  3. <groupId>org.bgee.log4jdbc-log4j2</groupId>

  4. <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>

  5. <version>1.16</version>

  6. </dependency>`

1. application.properties

  1. #spring.datasource.url=jdbc:mysql://114.55.145.131:3306/sky?characterEncoding=UTF-8

  2. spring.datasource.url: jdbc:log4jdbc:mysql://114.55.145.131:3306/sky?characterEncoding=UTF-8

  3. #spring.datasource.driver-class-name=com.mysql.jdbc.Driver

  4. spring.datasource.driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy

2. 新建一个log4jdbc.log4j2.properties

  1. # If you use SLF4J. First, you need to tell log4jdbc-log4j2 that you want to use the SLF4J logger

  2. log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator

不需要下面这个logback.xml文件

3. 新建一个logback.xml

  1. <?xml version="1.0" encoding="UTF-8"?>

  2. <configuration scan="true">

  3. <!-- 从application.yml 中注入变量 -->

  4. <!-- <springProperty scope="context" name="LOG_PATH" source="log.home"/> -->

  5. <!-- <springProperty scope="context" name="APPDIR" source="spring.application.name"/> -->

  6. <property name="LOG_PATH" value="./logs"/>

  7. <property name="APPDIR" value="graceLogs"/>

  8.  
  9. <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">

  10. <encoder>

  11. <pattern>1-%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger - %msg%n</pattern>

  12. <charset>GBK</charset>

  13. </encoder>

  14. </appender>

  15.  
  16.  
  17. <!-- error级别日志文件输出,按日期时间滚动记录输出 -->

  18. <appender name="FILEERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">

  19. <file>${LOG_PATH}/${APPDIR}/log_error.log</file>

  20. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

  21. <fileNamePattern>${LOG_PATH}/${APPDIR}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>

  22. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">

  23. <maxFileSize>500MB</maxFileSize>

  24. </timeBasedFileNamingAndTriggeringPolicy>

  25. </rollingPolicy>

  26. <append>true</append>

  27. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">

  28. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>

  29. <charset>utf-8</charset>

  30. </encoder>

  31. <filter class="ch.qos.logback.classic.filter.LevelFilter">

  32. <level>error</level>

  33. <onMatch>ACCEPT</onMatch>

  34. <onMismatch>DENY</onMismatch>

  35. </filter>

  36. </appender>

  37.  
  38. <!-- warn级别日志文件输出,按日期时间滚动记录输出 -->

  39. <appender name="FILEWARN" class="ch.qos.logback.core.rolling.RollingFileAppender">

  40. <file>${LOG_PATH}/${APPDIR}/log_warn.log</file>

  41. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

  42. <fileNamePattern>${LOG_PATH}/${APPDIR}/warn/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>

  43. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">

  44. <maxFileSize>2MB</maxFileSize>

  45. </timeBasedFileNamingAndTriggeringPolicy>

  46. </rollingPolicy>

  47. <append>true</append>

  48. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">

  49. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>

  50. <charset>utf-8</charset> </encoder>

  51. <filter class="ch.qos.logback.classic.filter.LevelFilter">

  52. <level>warn</level>

  53. <onMatch>ACCEPT</onMatch>

  54. <onMismatch>DENY</onMismatch>

  55. </filter>

  56. </appender>

  57.  
  58.  
  59. <!-- info级别日志文件输出,按日期时间滚动记录输出 -->

  60. <appender name="FILEINFO" class="ch.qos.logback.core.rolling.RollingFileAppender">

  61. <file>${LOG_PATH}/${APPDIR}/log_info.log</file>

  62. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

  63. <fileNamePattern>${LOG_PATH}/${APPDIR}/info/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>

  64. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">

  65. <maxFileSize>2MB</maxFileSize>

  66. </timeBasedFileNamingAndTriggeringPolicy>

  67. </rollingPolicy>

  68. <append>true</append>

  69. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">

  70. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>

  71. <charset>utf-8</charset>

  72. </encoder>

  73. <filter class="ch.qos.logback.classic.filter.LevelFilter">

  74. <level>info</level>

  75. <onMatch>ACCEPT</onMatch>

  76. <onMismatch>DENY</onMismatch>

  77. </filter>

  78. </appender>

  79.  
  80. <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">

  81. <encoder>

  82. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>

  83. </encoder>

  84. </appender>

  85.  
  86. <!--设置为OFF,即屏蔽; 留下sqltiming作为INFO级别输出-->

  87. <logger name="jdbc.connection" level="OFF"/>

  88. <logger name="jdbc.resultset" level="OFF"/>

  89. <logger name="jdbc.resultsettable" level="INFO"/>

  90. <logger name="jdbc.audit" level="OFF"/>

  91. <logger name="jdbc.sqltiming" level="INFO"/>

  92. <logger name="jdbc.sqlonly" level="OFF"/>

  93.  
  94. <!--设置日志打印级别为INFO-->

  95. <root level="INFO">

  96. <appender-ref ref="CONSOLE"/>

  97. <appender-ref ref="FILEINFO"/>

  98. <appender-ref ref="FILEWARN"/>

  99. <appender-ref ref="FILEERROR"/>

  100. </root>

  101.  
  102. </configuration>

效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值