1. 程式人生 > >logback + log4jdbc-log4j2 輸出 jpa sql 引數實際value

logback + log4jdbc-log4j2 輸出 jpa sql 引數實際value

log4jdbc-log4j2是基於log4jdbc開發,是log4jdbc的一個變體。 在result輸入格式上做了非常完美的優化。

官網:

https://code.google.com/p/log4jdbc-log4j2/

log4jdbc-log4j2 is a modification of log4jdbc to natively use Log4j 2 (or SLF4J as usual), that supports JDBC 4.1 to JDBC 3, includes all the improvements of log4jdbc-remix, and provides new improvements on its own. log4jdbc-log4j2:

  • natively supports Log4j 2SLF4J can still be used as usual.
  • supports JDBC 4.1 (Java 7), JDBC 4 (Java 6), JDBC 3 (Java 5).
  • includes all the improvements of log4jdbc-remix (can log result sets as tables, can be configured as a Datasource, can use a plugable SQL formatter).
  • is available in the sonatype maven repository.
  • provides new improvements on its own (logging of connection opening execution time, of getGeneratedKeys() queries, etc)
效果:
17:46:44.381 [qtp79368068-124] INFO  jdbc.sqltiming - select user0_.id as id1_2_, user0_.email as email2_2_, user0_.login_name as login_na3_2_, user0_.name 
as name4_2_, user0_.password as password5_2_, user0_.salt as salt6_2_, user0_.status as status7_2_, 
user0_.team_id as team_id8_2_ from ss_user user0_ where user0_.login_name='admin' 
 {executed in 1 msec}
17:46:44.383 [qtp79368068-124] INFO  jdbc.resultsettable - 
|---|-------------|-----------|--------------|-----------------------------------------|-----------------|--------|--------|
|id |email        |login_name |name          |password                                 |salt             |status  |team_id |
|---|-------------|-----------|--------------|-----------------------------------------|-----------------|--------|--------|
|1  |
[email protected]
|admin |administrator |692235df64f14215b1f15ccd79b70b55e63940fa |7awe2safd3b3asdd |enabled |1 | |---|-------------|-----------|--------------|-----------------------------------------|-----------------|--------|--------|


配置:

首先引入依賴jar:

      <dependency>
        <groupId>org.bgee.log4jdbc-log4j2</groupId>
        <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
        <version>1.16</version>
      </dependency>


1. 設定jdbc driver, 在db.properties中加上:
#log4jdbc-Log4j2 driver
jdbc.driver=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
jdbc.url=jdbc:log4jdbc:h2:file:~/.h2/sswxy_db;AUTO_SERVER=TRUE;DB_CLOSE_DELAY=-1

2. 在classpath下新增檔案 log4jdbc.log4j2.properties ,內容:

# If you use SLF4J. First, you need to tell log4jdbc-log4j2 that you want to use the SLF4J logger
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator

3. logback.xml檔案:

    <!--log4jdbc -->
    <!--In a typical usage scenario, you might turn on only the jdbc.sqlonly logging at INFO level, just to view the SQL coming out of your program.-->
    <logger name="jdbc.sqlonly" level="WARN"/>
    <logger name="jdbc.sqltiming" level="INFO"/>
    <logger name="jdbc.resultsettable" level="INFO"/>
    <logger name="jdbc.resultset" level="WARN"/>
    <logger name="jdbc.connection" level="WARN"/>
    <logger name="jdbc.audit" level="WARN"/>

完成。



相關推薦

logback + log4jdbc-log4j2 輸出 jpa sql 引數實際value

log4jdbc-log4j2是基於log4jdbc開發,是log4jdbc的一個變體。 在result輸入格式上做了非常完美的優化。 官網: https://code.google.com/p/log4jdbc-log4j2/ log4jdbc-log4j2 is

[hibernate]log4jdbc日誌輸出完整SQL語句

att 完整 sql 連接 end 需要 result mysq num 1.在maven引入: <dependency> <groupId>log4j</group

Spring-boot--列印sql引數 log4jdbclogback配置(轉)

Spring-boot--列印sql引數 log4jdbc與logback配置   在開發過程中,常常需要驗證sql語句,但是spring-boot-starter-data-jpa只支援輸出sql不會輸出引數,為了方便,整合log4jdbc。 一、引入依賴

Spring boot 使用logback+log4jdbc列印sql日誌

前言 使用Spring Boot進行開發時,我們為了除錯方便,都需要輸出sql語句,簡單的日誌列印方式,只能顯示sql語句,並不能顯示具體的佔位符的內容,這篇文章主要講解如何使用logback+log4jdbc列印sql日誌並顯示佔位符內容 簡單列印日誌 使用簡單的方式列印sql

使用log4jdbc實現列印完整帶引數sql語句日誌

### set log levels ### log4j.rootLogger = DENUG , console , debug , error ### console ### log4j.appender.console = org.apache.log4j.Consol

logback 配置列印 JPA SQL日誌到檔案

Logback 輸出 JPA SQL日誌 到檔案 使用Spring Boot 配置 JPA 時可以指定如下配置在控制檯檢視執行的SQL語句 spring.jpa.show-sql=true Spring Boot 預設的日誌配置不會輸出到檔案,若要列印日誌

使用Log4jdbc-log4j2監聽MyBatis中執行的SQL和Connection

引言: 在專案中使用了MyBatis,一個比較苦惱的問題是無法看到執行的SQL的具體情況,所以,就找到了Log4jdbc-log4j2。這個是一個基於jdbc層面的監聽工具,可以監聽對於資料庫的主要操作,從而完美的檢視到其中執行的操作。 1. Log4jdbc-log4j

mybatis 結合 logback 在控制檯輸出 sql 語句 (自用)

        由於工作需要,自己希望在控制檯打印出 sql 執行語句(公司 log 日誌沒有)。參考了很多文章。都沒有得到解決的辦法。也浪費了很多的時間。最終經過自己的不懈努力終於找到了解決的辦法。 感謝博主分享  參考網站 而我用到的只有一行    <lo

Jfinal中使用日誌框架輸出完整sql語句信息(mysql+oracle)

mysql 數據庫 項目 信息 sql語句 Jfinal中使用日誌框架輸出完整sql語句信息(mysql+oracle)1、引入Jar包。//必須引入的jar包log4j-1.2.17.jarlog4jdbc4-1.2.jarslf4j-api-1.7.5.jar//二選一的jar包,如果

SLF4J + logback 實現日誌輸出和記錄

-- .com 保持 不存在 default stat 我們 fix jar包 一、SLF4J   SLF4J,即簡單日誌門面(Simple Logging Facade for Java),不是具體的日誌解決方案,它只服務於各種各樣的日誌系統。在使用SLF4J的時候,不

Spring Boot(十)LogbackLog4j2集成與日誌發展史

charset 輸出 https 子項目 har enc pst hub sed 一、簡介 Java知名的日誌有很多,比如:JUL、Log4j、JCL、SLF4J、Logback、Log4j2,那麽這些日誌框架之間有著怎樣的關系?誕生的原因又是解決什麽問題?下面一起來看。

Matlab高階教程_第二篇:關於MATLAB轉C#過程中遇到輸出兩組引數的問題

1. 在matlab的m函式很可能遇到原函式[a,b] = func(a); 這樣的兩個輸出引數。 2. 在觀察C#生成後定義中我們發現: public MWArray HP(); public MWArray HP(MWArray Y); public MWArray HP(MWArray Y, M

spring jpa引數分頁查詢(一)

  1、寫個介面繼承JpaRepository @NoRepositoryBean public interface BaseRepository<T,PK extends Serializable> extends JpaRepository<T,PK> { }

SpringBoot學習筆記14——MybatisPlus模糊查詢、輸出執行sql

1.MybatisPlus的模糊查詢 MybatisPlus的模糊查詢非常簡單,只需要進行簡單的配置即可。 配置如下: #預設查詢時進行模糊查詢 mybatis-plus.global-config.db-config.column-like=true 2.在控制檯輸出執行的sql語

logback設定控制檯輸出色彩 不同級別不同色彩

 logback.xml配置: <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder class="ch.qos.logback.classic.en

解決logback不列印mybatis的SQL日誌的問題

工作這麼多年,今天還是因為Logback的這個問題稍微卡了一下,慚愧。 問題描述: logback配置瞭如下資訊: <appender name="sql" class="ch.qos.logback.core.rolling.RollingFileAppender"> &l

Spring Boot學習之LogbackLog4j2整合與日誌發展史

一、簡介 Java知名的日誌有很多,比如:JUL、Log4j、JCL、SLF4J、Logback、Log4j2,那麼這些日誌框架之間有著怎樣的關係?誕生的原因又是解決什麼問題?下面一起來看。 1.1 JUL Java有自己的日誌框架JUL(Java Util Logging)在java.

Django除錯models輸出SQL語句

django1.3在shell下,除錯models變得更為簡單了,不用像之前的版本,手工去呼叫django query,才能打印出之前的程式碼是執行的什麼SQL語句.1.3開始只需在settings.py裡,配置如下logging即可:LOGGING = {    'v

Django調試models輸出SQL語句

del args models 代碼 配置 tin objects als console django1.3在shell下,調試models變得更為簡單了,不用像之前的版本,手工去調用django query,才能打印出之前的代碼是執行的什麽SQL語句.1.3開始只需在s

python-不換行輸出+print()完整引數詳解

0.摘要 由於特殊的輸出要求,我們在使用print()函式時,並不希望輸出結束後自動換行。 1.print()指定換行符 print('hello',end='') print('world') #result:helloworld 當print()函式,指定en