Druid連線池 慢SQL日誌記錄

2021-07-29 03:20:33 字數 2598 閱讀 7561

時間 2014-08-27 13:02:05 

iteye-部落格

原文主題

sql

由於工作原因,這裡先不說連線資料庫部分的配置,後面會補上,直接進入慢sql日誌記錄。

abstract="true"

id="mysql_database"

class="com.alibaba.druid.pool.druiddatasource"

init-method="init"

destroy-method="close">

name="proxyfilters">

bean="stat-filter" />

bean="log-filter" />

list>

property>

name="filters">

stat,wall,log4jvalue>

property>

bean>

id="stat-filter"

class="com.alibaba.druid.filter.stat.statfilter">

name="mergesql"

value="true" />

name="slowsqlmillis"

value="1000" />

name="logslowsql"

value="true" />

bean>

id="log-filter"

class="com.alibaba.druid.filter.logging.log4jfilter">

bean>

2.log4j.properties中配置如下:

log4j.rootlogger=warn,a1,a2

#1.列印druid連線池sql語句,info級別的語句列印到info_slowsql.log,warn級別語句列印到warn_slowlog.log;

#2.將日誌寫到檔案中;

# druid

log4j.logger.druid.sql=info,a1,a2

log4j.logger.druid.sql.datasource=info,a1,a2

log4j.logger.druid.sql.connection=info,a1,a2

log4j.logger.druid.sql.statement=info,a1,a2

log4j.logger.druid.sql.resultset=info,a1,a2

經過上面的配置,就會在檔案中列印,如下的慢sql語句:

......

[2014-08-26 11:12:59] [error] [com.alibaba.druid.filter.stat.statfilter] - slow sql 3121 millis.

select

count(1) from person where schoolid=? and isdeleted=0

and get_first_pinyin_char(username) =?

["145","a"]

......

有問題歡迎指正,可參考官方文件,以官方文件為準。

參考:過程中遇到日誌報錯「

使用connector/j連線mysql資料庫,程式執行較長時間後就會報以下錯誤:

communications link failure,the last packet successfully received from the server was * **millisecond ago. 

the last packet successfully sent to the server was * **millisecond ago。

其中錯誤還會提示你修改wait_timeout或是使用connector/j的autoreconnect屬性避免該錯誤。

後來查了一些資料,才發現遇到這個問題的人還真不少,大部分都是使用連線池方式時才會出現這個問題,短連線應該很難出現這個問題。這個問題的原因:

按照錯誤的提示,可以在jdbc url中使用autoreconnect屬性,實際測試時使用了autoreconnect=true&failoverreadonly=false,不過並未起作用,使用的是5.1版本,可能真像網上所說的只對4之前的版本有效。

沒辦法,只能修改mysql的引數了,wait_timeout最大為31536000即1年,在my.cnf中加入:

[mysqld]  wait_timeout=31536000  interactive_timeout=31536000
重啟生效,需要同時修改這兩個引數。

caused by: com.mysql.jdbc.exceptions.jdbc4.communication***ception: communications link failure  [09:49:36.821]  [09:49:36.821]last packet sent to the server was 0 ms ago.

初探Druid連線池之二 慢SQL日誌記錄

由於工作原因,這裡先不說連線資料庫部分的配置,後面會補上,直接進入慢sql日誌記錄。stat,wall,log4j 2.log4j.properties中配置如下 log4j.rootlogger warn,a1,a2 1.列印druid連線池sql語句,info級別的語句列印到info slows...

Druid連線池入門

一 druid簡介 druid是乙個jdbc元件,它包括三部分 druid可以做什麼?1 可以監控資料庫訪問效能,druid內建提供了乙個功能強大的statfilter外掛程式,能夠詳細統計sql的執行效能,這對於線上分析資料庫訪問效能有幫助。2 替換dbcp和c3p0。druid提供了乙個高效 功...

Druid連線池配置

druid連線池,在阿里 使用過很好用的。druid集連線池,監控於一體整好復合當前專案的需要,專案是ssm結構,首先spring配置datasource,配置如下 id datasource class com.alibaba.druid.pool.druiddatasource init met...