记录SQL语句的执行时间戳。 记录SQL语句类型 记录SQL填入参数的和没有填入参数的SQL语句 根据配置的时间控制SQL语句的执行时间,对超出时间的SQL语句输出到日志文件中 展示效果 可以看到打印的sql,执行时间,和打印sql所携带的参数 如何配置 1.在Pom文件中添加maven依赖 1 2 3 4 5 <dependency> <groupId>p6spy</g...
--ps:sqltiming和sqlonly差别是多打印了sql语句的耗时,如果不想要这个时间可以修改筛选里面的项。--> <logger name="jdbc.sqltiming" level="INFO"/> <logger name="jdbc.sqlonly" level="OFF"/> 4.配置文件中修改部分属性值 如图: 即: driver-class-name 修改为:net.sf.log4jdbc.sql.jdbcapi.DriverSpy...
接下来,我们需要编写一个工具类,用于统计SQL执行时间。这个工具类可以通过AOP切面来实现。 @Aspect@ComponentpublicclassSqlExecutionTimeAspect{privatestaticfinalLoggerlogger=LoggerFactory.getLogger(SqlExecutionTimeAspect.class);@Around("execution(* com.example.repository.*.*(..))")publicObjectlogExecutionTime(Pro...
pjd.proceed();方法代表去执行目标方法,并获得一个Object类型的返回值,我们可以对返回值进行加工处理,如装饰加工等。 return的值为方法执行的结果。上述代码中首先获取类名、方法名、方法请求参数等,进行打印的拼接,并且记录方法执行的开始时间,并进行打印至日志。 然后执行方法,获取到方法返回结果,进行打印执行时间和...
2,now:当前时间,毫秒值。3,elapsed:sql执行的耗时。需要注意的是这里的耗时指的是从发送sql到服务器截止到收到服务器响应结果的总耗时,而不是sql本身在服务器的执行时间。4,category:操作的类型,比如查询,更新,commit,rollback等。5,prepared:编译后的sql,不打印具体的参数。6,sql:具体的执行sql,...
configuration.setDefaultStatementTimeout(1);// 设置sql执行超时时间::(秒)factoryBean.setConfiguration(configuration); SqlSessionFactory sqlSessionFactory = factoryBean.getObject();returnsqlSessionFactory; }@Primary@Bean(name ="transactionManager")publicDataSourceTransactionManager gfTransactionManager(@Qualifier("...
打印sql 执行时间 有时候会比较关心程序运行的效率,尤其是数据库操作的效率,以便于后期优化,这时打印 sql 的执行时间即可监控影响性能的一些数据库操作进行针对性的优化。打印 sql 运行时间是一个典型的 AOP 插入日志的问题,很容易想到动态代理什么的,这里通过实现 ibatis 的拦截器org.apache.ibatis.plugin.Interceptor来...
#毫秒值.执行时间超过该值的SQL语句将被记录为warn级别. log4jdbc.sqltiming.warn.threshold=2000 #毫秒值.执行时间超过该值的SQL语句将被记录为error级别. log4jdbc.sqltiming.error.threshold=3000 #是把boolean记录为 'true'/'false' 还是 1/0. 默认设置为false,不启用,为了移植性. ...
可以看到当前的session状况,创建时间、最后活跃时间、请求次数、请求时间等详细参数。 (8)JSONAPI 页面 通过api的形式访问Druid的监控接口,api接口返回Json形式数据。 5 sql监控 配置Druid web 监控 filter(WebStatFilter)这个过滤器,作用就是统计 web 应用请求中所有的数据库信息,比如 发出的 sql 语句,sql 执行的时...