A. 如何控制Mybatis的SQL日誌輸出
使用環境:Mybatis_3.2.8 + Log4j2_2.1
首先要說明的是:
Mybatis是用Mapper類的全路徑名,作為logger的名稱的。
Mybatis中,列印SQL語句的日誌級別是DEBUG,而列印SQL執行結果集的日誌級別是TRACE。(因為有些SQL可能語句簡單,但是結果集很多,分開級別,有利於用戶控制輸出。)
記住這兩點,對控制Mybatis的SQL日誌輸出很重要。
比如,我們的應用是:
com.test.app
而mapper類所在的路徑為:
com.test.app.
則我們可以分別控制應用的業務日誌和SQL日誌的輸出。
如下的Log4j2.xml將輸出所有業務日誌,以及SQL語句日誌
引用
<Loggers>
<Logger name="com.test.app." additivity="false" level="DEBUG">
<AppenderRef ref="sql_log"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.test.app" additivity="false" level="TRACE">
<AppenderRef ref="biz_debug"/>
<AppenderRef ref="Console"/>
</Logger>
</Loggers>
如下的Log4j2.xml將輸出所有業務日誌,以及SQL語句日誌,SQL語句執行結果日誌
引用
<Loggers>
<Logger name="com.test.app." additivity="false" level="TRACE">
<AppenderRef ref="sql_log"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.test.app" additivity="false" level="TRACE">
<AppenderRef ref="biz_debug"/>
<AppenderRef ref="Console"/>
</Logger>
</Loggers>
B. mybatis-plus日誌輸出sql配置(控制台能輸出sql日誌沒有sql問題)
看下spring boot配置文件中的mybatis部分
一般配置debug級別日誌,基本日誌都能輸出了,之前配置,這個是標準的輸出,控制台正常輸出,但是不會寫到日誌文件中,所以一旦上傳測試或生產,自動過濾sql部分日誌
但是我們也希望在測試環境也能看
改成如下配置
另外日誌級別改為debug,可以直接
就整體都是debug了
如果需要局部控制,可以配置多個level
只要是com.xxxx,com.aaa下的日誌輸出均是debug
C. 如何控制Mybatis的SQL日誌輸出
使用環境:Mybatis_3.2.8 + Log4j2_2.1
首先要說明的是:
Mybatis是用Mapper類的全路徑名,作為logger的名稱的。
Mybatis中,列印SQL語句的日誌級別是DEBUG,而列印SQL執行結果集的日誌級別是TRACE。
比如,我們的應用是: com.test.app
而mapper類所在的路徑為: com.test.app.
則我們可以分別控制應用的業務日誌和SQL日誌的輸出。
如下的Log4j2.xml將輸出所有業務日誌,以及SQL語句日誌
引用
<Loggers>
<Logger name="com.test.app." additivity="false" level="DEBUG">
<AppenderRef ref="sql_log"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.test.app" additivity="false" level="TRACE">
<AppenderRef ref="biz_debug"/>
<AppenderRef ref="Console"/>
</Logger>
</Loggers>
如下的Log4j2.xml將輸出所有業務日誌,以及SQL語句日誌,SQL語句執行結果日誌
引用
<Loggers>
<Logger name="com.test.app." additivity="false" level="TRACE">
<AppenderRef ref="sql_log"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.test.app" additivity="false" level="TRACE">
<AppenderRef ref="biz_debug"/>
<AppenderRef ref="Console"/>
</Logger>
</Loggers>
D. 怎麼修改logback輸出的mybatis的日誌的格式
<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 當發生滾動時 TimeBasedRollingPolicy滾動策略 根據時間來制定滾動策略 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 按天回滾 daily -->
<!-- local
<fileNamePattern>/Users/liyixiang/Documents/logs/xxx-xxx-${appPort}-%d{-MM-dd}.log</fileNamePattern>
-->
<!-- log.dir 在maven profile里配置 -->
<fileNamePattern>/logs/xxx-xxx-${appPort}-%d{-MM-dd}.log</fileNamePattern>
<!-- 控制保留的歸檔文件的最大數量 日誌最大的歷史 5天 -->
<maxHistory>5</maxHistory>
</rollingPolicy>
<!-- 日誌格式化 -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - [%msg]%n</pattern>
</encoder>
<p>
</appender>
</p>
<p>
<br>
</p>
<p>
</p><pre class="brush:xml; toolbar: true; auto-links: false;">具體的pattern可以查詢logback pattern like this --> </pre>
<p></p>
E. 如何控制Mybatis的SQL日誌輸出
您好,很高興為您解答。
使用環境:Mybatis_3.2.8 + Log4j2_2.1
首先要說明的是:
Mybatis是用Mapper類的全路徑名,作為logger的名稱的。
Mybatis中,列印SQL語句的日誌級別是DEBUG,而列印SQL執行結果集的日誌級別是TRACE。
比如,我們的應用是: com.test.app
而mapper類所在的路徑為: com.test.app.
則我們可以分別控制應用的業務日誌和SQL日誌的輸出。
如下的Log4j2.xml將輸出所有業務日誌,以及SQL語句日誌
引用
1
2
3
4
5
6
7
8
9
10
<Loggers>
<Logger name="com.test.app." additivity="false" level="DEBUG">
<AppenderRef ref="sql_log"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.test.app" additivity="false" level="TRACE">
<AppenderRef ref="biz_debug"/>
<AppenderRef ref="Console"/>
</Logger>
</Loggers>
如下的Log4j2.xml將輸出所有業務日誌,以及SQL語句日誌,SQL語句執行結果日誌
引用
1
2
3
4
5
6
7
8
9
10
<Loggers>
<Logger name="com.test.app." additivity="false" level="TRACE">
<AppenderRef ref="sql_log"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.test.app" additivity="false" level="TRACE">
<AppenderRef ref="biz_debug"/>
<AppenderRef ref="Console"/>
</Logger>
</Loggers>
如若滿意,請點擊右側【採納答案】,如若還有問題,請點擊【追問】
希望我的回答對您有所幫助,望採納!
F. mybatis中怎麼執行truncate
myts是對jdbc的封裝,一樣可以執行sql語句,而truncate也算sql語句,所以直接寫sql語句配置在mapper.xml中,再用你慣用額方式調用即可。
1:在Mybatis配置文件中加上以下配置:
<!-- 選擇log4j為Mybatis的記錄日誌文件-->
<settings><setting name="logImpl" value="LOG4J"/></settings>
SQL,參數,總行數都有,是不是很好用。
G. 用mybatis日誌如何配置
首先配置 log4j日誌文件
ibatis配置
log4j.logger.com.ibatis=DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.org.mybatis=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
導入依賴日誌包 log4j
<!-- SLFJ 可依賴到log4j-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.4</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.7</version>
</dependency>