@Configuration
public class P6SpyConfig { /**
* P6数据源包装, 打印SQL语句
*/
@Bean
public P6DataSourceBeanPostProcessor p6DataSourceBeanPostProcessor() {
return new P6DataSourceBeanPostProcessor();
} class P6DataSourceBeanPostProcessor implements BeanPostProcessor, PriorityOrdered {
@Override
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
return bean;
} @Override
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
if (bean instanceof DataSource) {
return new P6DataSource((DataSource) bean);
}
return bean;
} @Override
public int getOrder() {
return Ordered.LOWEST_PRECEDENCE;
}
} }
# P6Spy的配置,参考官方文档
# 官方文档位置: http://p6spy.readthedocs.io/en/latest/configandusage.html#common-property-file-settings # 基本设置, 定制化输出, 数据库日期,布尔设置
autoflush=false
dateformat=yyyy-MM-dd HH:mm:ss appender=com.p6spy.engine.spy.appender.Slf4JLogger
logMessageFormat=com.p6spy.engine.spy.appender.CustomLineFormat
customLogMessageFormat=%(executionTime)ms | %(sqlSingleLine) databaseDialectDateFormat=yyyy-MM-dd
databaseDialectTimestampFormat=yyyy-MM-dd HH:mm:ss
databaseDialectBooleanFormat=boolean # 过滤不需要的SQL语句, 排除的语句类型
filter=true
exclude=
excludecategories=info,debug,result,resultset,batch,commit,rollback