Druid 配置_LogFilter
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                Druid 配置_LogFilter
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                Druid內置提供了四種LogFilter(Log4jFilter、Log4j2Filter、CommonsLogFilter、Slf4jLogFilter),用于輸出JDBC執行的日志。這些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執行輸出,看實現代碼:
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";}你可以根據你的需要修改,在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>| 參數 | 說明 | 
| dataSourceLogEnabled | 所有DataSource相關的日志 | 
| connectionLogEnabled | 所有連接相關的日志 | 
| connectionLogErrorEnabled | 所有連接上發生異常的日志 | 
| statementLogEnabled | 所有Statement相關的日志 | 
| statementLogErrorEnabled | 所有Statement發生異常的日志 | 
| 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. 輸出可執行的SQL
Java啟動參數配置方式
-Ddruid.log.stmt.executableSql=truelogFilter參數直接配置
<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的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 股票流通值和总市值是什么意思
 - 下一篇: 想开茶馆需要做的准备 多想多学习才有好的