SSH框架-日志加强层p6spy使用方式

SSH框架-日志加强层p6spy使用方式

效果:
    可以打印SQL信息到文件内,可以替换SQL内变量参数
场景:
    当SSH+log4j能打印日志信息,但是不能打印SQL参数的时候,尝试修改了很多遍log4j的配置项也不管用,则可以使用p6spy的加强层来解决
使用步骤:
    1. 下载p6spy.jar 和 spy.properties,fileRecord.properties文件 (2012年的产物) 
    下载地址:https://download.csdn.net/download/cheneyfeng3/4414300?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-download-2%7Edefault%7ECTRLIST%7EPaid-1-4414300-blog-78134077.pc_relevant_paycolumn_v3&depth_1-utm_source=distribute.pc_relevant_t0.none-task-download-2%7Edefault%7ECTRLIST%7EPaid-1-4414300-blog-78134077.pc_relevant_paycolumn_v3&utm_relevant_index=1
    也可以去找其他的p6spy.jar和p6spy.properties文件下载,但是必须是这俩文件要配套
    2. 将p6spy.jar放到工程运行环境中,将spy.properties和fileRecord.properties放到resources/这个文件夹下面即可,不需要引入到spring中
    3. 修改spy.properties里面的内容信息:
        参考:https://blog.csdn.net/liyys/article/details/78134077
        	 https://blog.csdn.net/xiaoyingxixi/article/details/8998572
            https://blog.51cto.com/u_1306733/1854482
        我修改的地方有:
            module.log=com.p6spy.engine.logging.P6LogFactory
            realdriver=oracle.jdbc.driver.OracleDriver
            deregisterdrivers=true
            dateformat=yyyy-MM-dd hh:mm:ss
            appender=com.p6spy.engine.logging.appender.StdoutLogger
            maxfilesize=51200
(***maxfilesize这里如果用下载的下来的p6spy.jar包,是不会生效的,默认是500kb一个包,如果想修改这里使其生效,需要反编译p6spy.jar修改里面的逻辑再打包回去才行)
(或者直接使用我反编译好的jar包,下载地址:https://download.csdn.net/download/u013205428/85771216)
    4. 如果配置了log4j,则修改log4j里面的信息:
        #输出sql语句到日志
        log4j.logger.org.hibernate.SQL=DEBUG
        #将对应的参数占位符?换成传入的参数
        log4j.logger.org.hibernate.type=DEBUG,CONSOLE
        log4j.category.org.hibernate.type=DEBUG
    5. 修改数据库.properties(或者yml,或者其他文件)配置文件信息
        #是否在日志中打印sql语句和格式化sql语句
        hibernate.show_sql=true
        hibernate.format_sql=false
        # hql开启方式
        hibernate.use_sql_comments=false
    6. 修改数据库xml配置信息
<bean id="dataSource" class="com.p6spy.engine.spy.P6DataSource">
   <constructor-arg>
      <bean class="com.inspur.healthframework.druid.pool.HealthFrameworkDataSource"
           destroy-method="close">
         <property name="url" value="${dataSource.url}"/>
         <property name="username" value="${dataSource.username}"/>
         <property name="password" value="${dataSource.password}"/>
         <property name="initialSize" value="${dataSource.initialSize}"/>
         <property name="maxActive" value="${dataSource.maxActive}"/>
         ...
      </bean>
   </constructor-arg>
</bean>
以及:(修改的话hibernate按自己项目的配置来即可,只是修改了其中的driver引用)
<property name="hibernateProperties">
   <props>
      <prop key="hibernate.connection.driver_class">com.p6spy.engine.spy.P6SpyDriver</prop>
      <prop key="hibernate.dialect">${hibernate.dialect}</prop>
      <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
      <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
      <prop key="hibernate.use_sql_comments">${hibernate.use_sql_comments}</prop>
      <!-- 
      <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
      <prop key="hibernate.cache.provider_configuration_file_resource_path">ehcache/ehcache-hibernate-local.xml</prop>
      -->
   </props>
</property>
    7. 再次重启项目就能看到效果了.

也可以直接下载我资源里面的p6spy包,是调整过里面错误之后重新打的包。

参考地址: https://blog.csdn.net/liyys/article/details/78134077
参考地址: https://blog.csdn.net/xiaoyingxixi/article/details/8998572
参考地址: https://blog.51cto.com/u_1306733/1854482

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值