分析系统sql运行情况,超阈值sql 记录到单独文件,如执行超过10秒的sql
log4jdbc3-1.2beta2.jar、 slf4j-api-1.6.0.jar、slf4j-nop-1.6.1.jar和slf4j-log4j12-1.6.0.ja
<attribute name="JdbcUrl">jdbc:log4jdbc:postgresql://localhost:5432/postgres</attribute>
<attribute name="DriverClass">net.sf.log4jdbc.DriverSpy</attribute>
Conf\log4jdbc.properties 加入
log4jdbc.dump.sql.addsemicolon=true
log4jdbc.dump.sql.select=true
log4jdbc.dump.sql.insert=true
log4jdbc.dump.sql.update=true
log4jdbc.dump.sql.delete=true
log4jdbc.dump.sql.create=true
#sql运行时间 单位 毫秒
log4jdbc.sqltiming.warn.threshold=100
log4jdbc.sqltiming.error.threshold=10000
log4jdbc.drivers=org.postgresql.Driver
如:
<appender name="sql-timing-appender" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="${jboss.server.log.dir}/jdbc-sqltiming.log"/>
<param name="Append" value="false"/>
<param name="Threshold" value="info"/>
<param name="MaxFileSize" value="20MB"/>
<param name="MaxBackupIndex" value="200"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
</layout>
</appender>
在 \log\ jdbc-sqltiming.log中
关键字:
[jdbc.sqltiming]