最近项目组新项目转用springboot框架,框架搭建时,未打印SQL日志。在度娘中查找springboot配置p6spy相关记录,查无所获
于是想到之前项目用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前的#号删掉 等号后配置日志打印路径
分享到:
相关推荐
这个配置文件允许开发者自定义P6Spy的行为,比如数据库连接的详细信息、日志记录的格式、日志文件的位置等。这个文件的配置对于P6Spy的工作方式至关重要。 4. 现在,我们来到了关键的一步,即导入P6Spy的源码。这样...
此外,P6Spy还支持自定义日志格式和插件,可以根据需求定制监控和报告功能。 总的来说,P6Spy是一个强大的工具,可以帮助开发者更好地理解和优化使用Hibernate或其他JDBC驱动的应用的数据库性能。通过与Hibernate的...
5. **启动应用**:完成上述配置后,启动你的应用程序,P6Spy 就会开始记录SQL日志。 **使用P6Spy进行SQL监控** 1. **查看日志**:P6Spy 会在指定的`logFile`中记录SQL日志,通过阅读这些日志,你可以看到应用程序...
**P6Spy与WebLogic配置及SQLProfiler监控详解** P6Spy是一款开源的数据库监控工具,主要用于记录和分析应用程序对数据库的所有SQL操作。在Java应用环境中,如WebLogic服务器上,P6Spy可以帮助开发者和DBA监控SQL...
1. **配置P6Spy**:首先,需要在项目的类路径下添加P6Spy的jar文件,并在数据库连接URL中使用P6Spy的代理驱动,例如对于MySQL,URL可能类似于`jdbc:p6spy:mysql://localhost:3306/mydb`。 2. **配置日志**:在`spy....
P6Spy是一个强大的开源工具,专门用于监控JDBC连接,特别是在SpringBoot环境下,它可以提供对Oracle数据库查询执行时长的详细分析。P6Spy的工作原理是通过代理模式,拦截SQL语句并记录其执行情况,这有助于开发者...
P6spy是一个JDBC Driver的包装工具,p6spy通过对JDBC Driver的封装以达到对SQL语句的监听和分析,以达到各种目的。 p6spy的安装步骤: 1. 下载p6spy的安装包 2. 把p6spy的jar包放到Classpath中,如果是WEB App...
P6Spy 提供了配置选项来控制哪些部分的日志需要显示或忽略。在某些情况下,你可能不希望在日志中看到 ResultSet 的详细内容,因为这可能导致日志文件过大或者包含敏感数据。通过调整 P6Spy 的配置文件(通常是 `spy....
# oracle driver # realdriver=oracle.jdbc.driver.OracleDriver # mysql Connector/J driver ... # informix driver ... # ibm db2 driver ...# the mysql open source driver realdriver=org.gjt.mm.mysql.Driver ...
2. **日志格式自定义**:P6Spy允许用户通过配置文件定制日志输出格式,满足不同场景下的需求,如添加时间戳、执行耗时、事务信息等。 3. **性能分析**:通过记录SQL执行时间,P6Spy可以帮助识别性能瓶颈,找出执行...
3. **配置日志**:P6Spy使用自己的日志框架,所以我们需要在应用目录下创建一个名为`spy.properties`的配置文件,定义日志输出的格式和位置。例如: ``` logFile=/var/log/app/p6spy.log logLevel=DEBUG append=...
P6Spy 是一个可以用来在应用程序中拦截和修改数据操作语句的开源框架。通过 P6Spy 我们可以对 SQL 语句进行拦截,相当于一个 SQL 语句的记录器,这样我们可以用它来作相关的分析,比如性能分析。P6Spy 用 Log4J 来...
在IT行业中,数据库性能优化是至关...开发者需要熟悉SQL Profiler的事件筛选和跟踪分析,以及P6Spy的日志配置和解析。通过熟练掌握这两个工具,你可以有效地定位和解决数据库性能问题,为你的项目带来显著的优化效果。
3. **配置Spy.properties**:这是P6Spy的主要配置文件,需要设置包括日志文件路径、日志格式、要拦截的数据库连接字符串等信息。 4. **启动监控**:应用启动后,P6Spy 开始监听并记录所有数据库操作。 ### 三、配置...
1. **logFile**: 这个配置项定义了P6Spy生成的日志文件的路径和名称。你可以根据需要设置日志文件的大小,以避免日志文件过大导致的存储问题。 2. **maxLogFileSize**: 这个选项用来限制单个日志文件的最大大小。当...
`spy.properties`是P6Spy的配置文件,用于设置各种监控参数。 2. **配置spy.properties**:打开`spy.properties`文件,你需要根据你的数据库连接信息进行相应的配置,如数据库驱动名、JDBC URL、用户名和密码等。...
P6Spy的配置主要通过修改`spy.properties`文件来完成。这个文件通常放在类路径的根目录下。你需要在其中指定驱动名(通常是覆盖原数据库驱动)、数据库连接URL、日志文件路径等参数。 3. **启用日志输出** P6Spy...
在原版p6spy中,用户需要配置`spy.properties`文件,设置日志格式、输出路径等参数,而这个精简版可能已经预设了更为友好的默认配置,降低了使用门槛。 其次,了解p6spy的源码有助于我们深入理解其工作原理。p6spy...
5. **配置集成**:P6Spy的配置通常在`spy.properties`文件中进行,包括日志格式、监控规则等。我们需要为自定义监控器创建类似的配置机制,以便用户可以根据需要调整监控行为。 6. **异常处理**:当SQL执行失败时,...
5. **日志配置与定制** - **日志格式**:P6Spy 允许自定义日志格式,通过 spy.properties 文件中的 `format` 属性指定。 - **日志级别**:可以调整 `logLevel` 属性来控制记录的 SQL 事件级别,如信息、警告或错误...