关于springboot配置p6spy日志插件

本文介绍了如何在Springboot项目中配置P6Spy插件来实现SQL日志的打印。由于Springboot框架默认不使用XML配置,因此通过在Java文件中使用注解声明bean对象来完成数据源配置。配置完成后,SQL日志会默认写入项目的spy.log文件,若要更改日志路径,可在spy.properties文件中修改logfile属性。
摘要由CSDN通过智能技术生成
最近项目组新项目转用springboot框架,框架搭建时,未打印SQL日志。在度娘中查找springboot配置p6spy相关记录,查无所获 :cry: :cry:
于是想到之前项目用springmvc框架时,SQL格式化输出用的p6spy配置。

<bean id="dataSource" class="com.p6spy.engine.spy.P6DataSource">
<constructor-arg ref="dataSource_org"></constructor-arg>
</bean>
<bean id="dataSource_org" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="${jdbc.driver.mysql}"/>
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="initialPoolSize" value="10" />
<property name="maxPoolSize" value="200" />
<property name="maxIdleTime" value="6000" />
<property name="idleConnectionTestPeriod" value="600"/>
<property name="preferredTestQuery" value="SELECT 1"/>
</bean>

借鉴之后,因为springboot省略了xml文件的配置,所以java文件配置数据连接时,
使用注解声明bean对象

@Bean
@Primary
public DataSource spyDataSource(){
return new P6DataSource(druidDataSource());
}
以上代码代替
<bean id="dataSource" class="com.p6spy.engine.spy.P6DataSource">
<constructor-arg ref="dataSource_org"></constructor-arg>
</bean>

public DataSource druidDataSource() {
DruidDataSource datasource = new DruidDataSource();
datasource.setUrl(this.dbUrl);
datasource.setUsername(username);
datasource.setPassword(password);
datasource.setDriverClassName(driverClassName);
datasource.setInitialSize(initialSize);
datasource.setMinIdle(minIdle);
datasource.setMaxActive(maxActive);
datasource.setMaxWait(maxWait);
datasource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
datasource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);
datasource.setValidationQuery(validationQuery);
datasource.setTestWhileIdle(testWhileIdle);
datasource.setTestOnBorrow(testOnBorrow);
datasource.setTestOnReturn(testOnReturn);
datasource.setPoolPreparedStatements(poolPreparedStatements);
datasource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize);
datasource.setConnectionProperties(connectionProperties);
try {
datasource.setFilters(filters);
} catch (SQLException e) {
logger.error("druid configuration initialization filter", e);
}
return datasource;
}

配置后,sql日志默认打印到项目下spy.log文件里
若要需改日志目录需要,将配置文件spy.properties中logfile = log/spy.log
logfile前的#号删掉 等号后配置日志打印路径
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值