Druid 配置_LogFilter
生活随笔
收集整理的這篇文章主要介紹了
Druid 配置_LogFilter
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Druid內置提供了四種LogFilter(Log4jFilter、Log4j2Filter、CommonsLogFilter、Slf4jLogFilter),用于輸出JDBC執(zhí)行的日志。這些Filter都是Filter-Chain擴展機制中的Filter,所以配置方式可以參考這里:Filter配置
1. 別名映射
在druid-xxx.jar!/META-INF/druid-filter.properties文件中描述了這四種Filter的別名
druid.filters.log4j=com.alibaba.druid.filter.logging.Log4jFilterdruid.filters.log4j2=com.alibaba.druid.filter.logging.Log4j2Filterdruid.filters.slf4j=com.alibaba.druid.filter.logging.Slf4jLogFilterdruid.filters.commonlogging=com.alibaba.druid.filter.logging.CommonsLogFilterdruid.filters.commonLogging=com.alibaba.druid.filter.logging.CommonsLogFilter他們的別名分別是log4j、log4j2、slf4j、commonlogging和commonLogging。其中commonlogging和commonLogging只是大小寫不同。
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"init-method="init" destroy-method="close">... ...<property name="filters" value="stat,log4j" /></bean>2. loggerName配置
LogFilter都是缺省使用四種不同的Logger執(zhí)行輸出,看實現(xiàn)代碼:
public abstract class LogFilter {protected String dataSourceLoggerName = "druid.sql.DataSource";protected String connectionLoggerName = "druid.sql.Connection";protected String statementLoggerName = "druid.sql.Statement";protected String resultSetLoggerName = "druid.sql.ResultSet";}你可以根據(jù)你的需要修改,在log4j.properties文件上做配置時,注意配置使用相關的logger。
2. 配置輸出日志
缺省輸入的日志信息全面,但是內容比較多,有時候我們需要定制化配置日志輸出。
<bean id="log-filter" class="com.alibaba.druid.filter.logging.Log4jFilter"><property name="resultSetLogEnabled" value="false" /> </bean><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">...<property name="proxyFilters"><list><ref bean="log-filter"/></list></property> </bean>| 參數(shù) | 說明 |
| dataSourceLogEnabled | 所有DataSource相關的日志 |
| connectionLogEnabled | 所有連接相關的日志 |
| connectionLogErrorEnabled | 所有連接上發(fā)生異常的日志 |
| statementLogEnabled | 所有Statement相關的日志 |
| statementLogErrorEnabled | 所有Statement發(fā)生異常的日志 |
| resultSetLogEnabled | ? |
| resultSetLogErrorEnabled | ? |
| connectionConnectBeforeLogEnabled | ? |
| connectionConnectAfterLogEnabled | ? |
| connectionCommitAfterLogEnabled | ? |
| connectionRollbackAfterLogEnabled | ? |
| connectionCloseAfterLogEnabled | ? |
| statementCreateAfterLogEnabled | ? |
| statementPrepareAfterLogEnabled | ? |
| statementPrepareCallAfterLogEnabled | ? |
| statementExecuteAfterLogEnabled | ? |
| statementExecuteQueryAfterLogEnabled | ? |
| statementExecuteUpdateAfterLogEnabled | ? |
| statementExecuteBatchAfterLogEnabled | ? |
| statementCloseAfterLogEnabled | ? |
| statementParameterSetLogEnabled | ? |
| resultSetNextAfterLogEnabled | ? |
| resultSetOpenAfterLogEnabled | ? |
| resultSetCloseAfterLogEnabled | ? |
4. log4j.properties配置
如果你使用log4j,可以通過log4j.properties文件配置日志輸出選項,例如:
log4j.logger.druid.sql=warn,stdoutlog4j.logger.druid.sql.DataSource=warn,stdoutlog4j.logger.druid.sql.Connection=warn,stdoutlog4j.logger.druid.sql.Statement=warn,stdoutlog4j.logger.druid.sql.ResultSet=warn,stdout5. 輸出可執(zhí)行的SQL
Java啟動參數(shù)配置方式
-Ddruid.log.stmt.executableSql=truelogFilter參數(shù)直接配置
<bean id="log-filter" class="com.alibaba.druid.filter.logging.Log4jFilter"><property name="statementExecutableSqlLogEnable" value="true" /></bean>https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_LogFilter
總結
以上是生活随笔為你收集整理的Druid 配置_LogFilter的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 股票流通值和总市值是什么意思
- 下一篇: 想开茶馆需要做的准备 多想多学习才有好的