P6SPY如何工作?

时间:2011-07-15 15:44:46

标签: p6spy

问题中的所有内容。我刚刚发现了与hibernate相关的p6spy,看到实际的sql查询真的很酷,虽然我对它的工作方式感到很困惑。
那么它是怎样工作的?

1 个答案:

答案 0 :(得分:2)

p6spy的基本思想是这样的:

  1. 取决于您是否在代码中使用DatasourceJDBC driver, 你所做的不是引用真实的,而是指定p6spy 具体的:com.p6spy.engine.spy.P6SpyDrivercom.p6spy.engine.spy.P6DataSource(有关完整文档,请参阅:p6spy.readthedocs.io/en/latest/configandusage.html)。
  2. 之后您在spy.properties文件中配置了真实的内容(分别使用realdriverrealdatasource属性)
  3. 根据配置,您可以实现sql语句的日志记录(使用com.p6spy.engine.logging.P6LogFactory
  4. 所以要回答你的问题,我的想法是所有的jdbc调用(语句执行,事务相关的东西)都将被p6spy包装(代理),并且根据你的配置,这些可以通过文件记录器记录(使用{ {1}}),stdout logger(使用appender=com.p6spy.engine.logging.appender.FileLogger)或log4j logger(使用:appender=com.p6spy.engine.logging.appender.StdoutLogger
  5. 如果对更多细节感兴趣,请随时询问或检查项目本身:https://github.com/p6spy/p6spy