mysql log4jlogger_mybatis結合log4j打印SQL日志

mybatis結合log4j打印SQL日志

1.Maven引用jar包

默認的mybatis不能打印出SQL日志,不便于查看調試,須要結合log4jdbc-log4j2就能夠完整的輸入SQL的調試信息。

pom.xml 配置maven。注意以下3個都須要

org.bgee.log4jdbc-log4j2

log4jdbc-log4j2-jdbc4.1

1.16

org.slf4j

slf4j-api

1.7.13

org.slf4j

slf4j-log4j12

1.7.13

2.配置信息

log4jdbc.log4j2.prppertieslog4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator

log4j.prpperties### 設置Logger輸出級別和輸出目的地 ### debug更具體,假設設為info那么打印出的表數據遇到字符串就不顯示。此外還有logfile

log4j.rootLogger=debug,stdout

### 把日志信息輸出到控制臺 ###

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

#log4j.appender.stdout.Target=System.err

log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout

### 把日志信息輸出到文件:jbit.log ###

#log4j.appender.logfile=org.apache.log4j.FileAppender

#log4j.appender.logfile.File=jbit.log

#log4j.appender.logfile.layout=org.apache.log4j.PatternLayout

#log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %F %p %m%n

###顯示SQL語句部分

#log4j.logger.com.mybatis=DEBUG

#log4j.logger.com.mybatis.common.jdbc.SimpleDataSource=DEBUG

#log4j.logger.com.mybatis.common.jdbc.ScriptRunner=DEBUG

#log4j.logger.com.mybatis.sqlmap.engine.impl.SqlMapClientDelegate=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

配置文件擺放位置:

ce23eda10d57deacdddd68035926788e.png

改動myBatis配置文件

MySQL

SQLserver

-->

運行SQL輸出SQL

b6f6ee54d8fb6837a827633723ea5cef.png

Center

須要注意

假設配置log4j.rootLogger=info,Console就不會輸出SQL表里的字符串,必須是log4j.rootLogger=DEBUG,Console才干夠

b4e6a77daa9bdcd12770621ad26911e1.png

3.定制化精簡日志

887a615c59371f01d332071d069b0b9b.png

如圖所看到的打印的日志太多了,假設不須要的話非常easy把不須要的日志包配置到log4j.logger.后就可以。log4j.logger.org.springframework=error

以下是一個僅僅輸出SQL和表數據的最精簡的配置:log4j.rootLogger=DEBUG,Console

#Console

log4j.appender.Console=org.apache.log4j.ConsoleAppender

log4j.appender.console.Target=System.out

log4j.appender.Console.layout=org.apache.log4j.PatternLayout

log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n

log4j.logger.org.apache=ERROR

log4j.logger.org.mybatis=ERROR

log4j.logger.org.springframework=ERROR

#這個須要

log4j.logger.log4jdbc.debug=ERROR

log4j.logger.com.gk.mapper=ERROR

log4j.logger.jdbc.audit=ERROR

log4j.logger.jdbc.resultset=ERROR

#這個打印SQL語句非常重要

log4j.logger.jdbc.sqlonly=DEBUG

log4j.logger.jdbc.sqltiming=ERROR

log4j.logger.jdbc.connection=FATAL

dda90e874a1bf26dae215e8e89cb6bdc.png

參考:log4jdbc-log4j2配置簡記

http://blog.sina.com.cn/s/blog_42971b9e0100p6ua.html?netbeans配置tomcat須要驗證username口令。Tomcat Manager Application

4.直接調試出SQL語句

直接在MyBatis里打斷點調試出須要看的SQL

SimpleExecutor這個類以下

7bb07b4ce05a5e281454b6692e3ba964.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/541525.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/541525.shtml
英文地址,請注明出處:http://en.pswp.cn/news/541525.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

限制對web路徑的訪問

$ipcmd -I INPUT -i eth0 -p tcp --dport 80 -m string --string "/adapi" --algo bm -j DROP$ipcmd -I INPUT -i eth0 -p tcp --dport 80 -m string --string "/epapi" --algo bm -j DROP轉載于:https://blog.51cto.com/luoguoling/1919928

kotlin 查找id_Kotlin程序查找等邊三角形的區域

kotlin 查找idFormula to find area of Equilateral Triangle: area ( 1.73 side side)/4 查找等邊三角形面積的公式: 面積(1.73邊邊)/ 4 Given the value of side, we have to find the area of Equilateral Triangle. 給定邊的值,我們必須找到等邊…

Orcale11g單機安裝與卸載

前言:本篇主要介紹Oracle11g企業版安裝的準備工作,建議使用圖形化界面安裝,靜默安裝出現問題較多,初學者不好排查,本篇只給出關鍵步驟,最后介紹完全刪除Orcale方法; Oracle Database 11g Expres…

qt連接mysql4.7數據庫_QT4.7訪問MySQL的驅動編譯過程

我們假設你已經成功安裝了MySQL(我用的是MySQL的安裝版)和QT,MySQL的安裝路徑采用的是其默認安裝路徑,也就是安裝在了C:\Program Files下。下面開始正式講解QT訪問安裝版MySQL的驅動的編譯方法。第一步:因為MySQL的安裝路徑下有空格&#xff…

cellpadding_在CSS中設置cellpadding和cellspacing

cellpaddingIntroduction: 介紹: It is not unknown anymore that now and then we make use of tables in our web page or website, therefore we all are familiar with how to create tables or grids in our website or web page but there are times when we…

JavaScript中的arguments對象

JavaScript中的arguments對象 arguments 是一個類似數組的對象, 對應于傳遞給函數的參數。 語法 arguments 描述 arguments對象是所有函數中可用的局部變量。你可以使用arguments對象在函數中引用函數的參數。此對象包含傳遞給函數的每個參數的條目,第一個條目的索引…

mongodb 排序_技術分享 | MongoDB 一次排序超過內存限制的排查

本文目錄:一、背景1. 配置參數檢查2. 排序字段是否存在索引二、測試環境模擬索引對排序的影響1. 測試環境信息2. 報錯語句的執行計劃解釋 3. 建立新的組合索引進行測試三、引申的組合索引問題1. 查詢語句中,排序字段 _id 使用降序2. 查詢語句中&#xff…

sim800 模式切換_SIM的完整形式是什么?

sim800 模式切換SIM:訂戶標識模塊或訂戶標識模塊 (SIM: Subscriber Identity Module or Subscriber Identification Module) SIM is an abbreviation of a Subscriber Identity Module or Subscriber Identification Module. SIM is a portable chip and an integra…

css新單位 vw , vh

考慮到未來響應式設計的開發,如果你需要,瀏覽器的高度也可以基于百分比值調整。但使用基于百分比值并不總是相對于瀏覽器窗口的大小定義的最佳方式,比如字體大小不會隨著你窗口改變而改變,如今css3引入的新單位明確解決這一問題。…

linux下mysql目錄結構_linux下mysql安裝配置與目錄結構

本節內容:linux下mysql安裝與配置、mysql目錄結構。1、準備安裝程序(官方網站下載)服務端:MySQL-server-community-5.1.44-1.rhel4.i386.rpm客戶端:MySQL-client-community-5.1.44-1.rhel4.i386.rpm2、安裝(打印信息略) 代碼示例:[rootlocalh…

Python字典values()方法與示例

字典values()方法 (Dictionary values() Method) values() method is used to get all values of a dictionary, it returns a view object that contains the all values of the dictionary as a list. values()方法用于獲取字典的所有值,它返回一個包含字典所有值…

spark源碼分析之Executor啟動與任務提交篇

任務提交流程 概述 在闡明了Spark的Master的啟動流程與Worker啟動流程。接下繼續執行的就是Worker上的Executor進程了,本文繼續分析整個Executor的啟動與任務提交流程Spark-submit 提交一個任務到集群通過的是Spark-submit通過啟動腳本的方式啟動它的主類&#xff0…

mysql 5.5.22.tar.gz_MySQL 5.5.22源碼編譯安裝

MySQL 最新的版本都需要cmake編譯安裝,估計以后的版本也會采用這種方式,所以特地記錄一下安裝步驟及過程,以供參考。注意:此安裝是默認CentOS下已經安裝了最新工具包,比如GNU make, GCC, Perl, libncurses5-dev&#x…

Java Vector setElementAt()方法與示例

向量類setElementAt()方法 (Vector Class setElementAt() method) setElementAt() method is available in java.util package. setElementAt()方法在java.util包中可用。 setElementAt() method is used to set the given element (ele) at the given indices in this Vector.…

利用python進行數據分析D2——ch03IPython

為無為,事無事,味無味。大小多少,報怨以德。圖難于其易,為大于其細;天下難事必作于易,天下大事必作于細。——老子關于圖片的例子:import matplotlib.pyplot as plt imgplt.imread(ch03/stinkbug.png) import pylab plt.imshow(img) pylab.show()結果:調…

mysql 視圖 字典_MySQL深入01-SQL語言-數據字典-服務器變量-數據操作DML-視圖

SQL語言的組成部分常見分類:DDL:數據定義語言DCL:數據控制語言,如授權DML:數據操作語言其它分類:完整性定義語言:DDL的一部分功能約束約束:包括主鍵,外鍵,唯一…

為什么我會被淘汰?

這是一個值得討論的問題。華為前段時間也傳出了大規模裁員的一些負面新聞,一時間搞的人心惶惶。總結起來說,還是怕失去這份賴以生存的工作,尤其是對于上有老下有小的中年人來說,工作尤為重要。 淘汰,是軟件行業不變的真…

Java Throwable initCause()方法與示例

Throwable類initCause()方法 (Throwable Class initCause() method) initCause() Method is available in java.lang package. initCause()方法在java.lang包中可用。 initCause() Method is used to instantiate the cause of this throwable to the given value and this met…

mysql 存儲過程死循環_pl/sql存儲過程loop死循環

今早,一個存儲過程,寫過很多次的存儲過程,隨手一寫,各種報錯,各種糾結,網上一搜,有好多個都遇到,論壇上給出的結局答案,今早,一個存儲過程,寫過很…

GATK之VariantAnnotator

VariantAnnotator 簡要說明 用途: 利用上下文信息注釋識別的變異位點(variant calls)分類: 變異位點操作工具概要: 根據變異位點的背景信息(與功能注釋相對)進行注釋。目前有許多的注釋模塊(見注釋模塊一節…