一. jpa怎么打印sql语句?
现在网上的办法大多是:在properties文件中添加: spring.jpa.show-sql=true.
这样可以吗?可以.但是系统是用System.out.println方法打印的,不好管理.
我想使用图片中1的log打印怎么设置呢?
在logback.xml中加入<logger name="org.hibernate.SQL" level="DEBUG"/>就可以了.
二.jpa怎么打印参数?
上面的配置,只能打印sql语句,sql中需要的参数没有输出出来.
<logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="trace" />
加入上面的logger配置,就可以打印sql参数了.
三.jpa打印的select语句超级多,我不想看到select sql语句怎么办?
给appender输出添加过滤器就行了.
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <filter class="ch.qos.logback.core.filter.EvaluatorFilter"> <evaluator> <!-- defaults to type ch.qos.logback.classic.boolex.JaninoEventEvaluator --> <expression>return message.contains("select");</expression> </evaluator> <OnMismatch>NEUTRAL</OnMismatch> <OnMatch>DENY</OnMatch> </filter> <encoder> <pattern>${CONSOLE_LOG_PATTERN}</pattern> <charset>utf8</charset> </encoder></appender>
添加这个filter应该还需要引入一个jar,否则启动报错.
<dependency> <groupId>org.codehaus.janino</groupId> <artifactId>janino</artifactId> <version>3.0.7</version> </dependency>
原文地址:https://www.cnblogs.com/wangxiaofengde/p/11412329.html
时间: 2024-10-09 00:52:20