您的位置:首页 > 运维架构

P6Spy 监控JDBC详细配置说明

2013-04-17 11:58 183 查看
到:下载

1、解压出p6spy.jar 和 spy.properties两个文件

2、将p6spy.jar 放入应用程序的WEB-INF/lib目录,将spy.properties放入WEB-INF/classes目录(也就是工程的src下面)

3、修改spy.properties

realdriver =com.mysql.jdbc.Driver 将这行前面的#去掉

logfile = c:/spy.log 修改一个你需要的日志文件名,(下面可以配置输出到控制台)

4、module.log的属性必须配置,如果不配置,P6SPY将不起任何作用,典型配置为:module.log=com.p6spy.engine.logging.P6LogFactory

realdriver=oracle.jdbc.driver.OracleDriver

5、appender配置,一般分为三种

#appender=com.p6spy.engine.logging.appender.Log4jLogger
# appender=com.p6spy.engine.logging.appender.StdoutLogger
#appender=com.p6spy.engine.logging.appender.FileLogger

其中,appender=com.p6spy.engine.logging.appender.StdoutLogger表示将输出的SQL或者日志信息输出到Console窗口。

6、log4j.logger.p6spy一般需要将log4j的相关参数从默认的,就是参数和log4j配置一样。

log4j.logger.p6spy=info,STDOUT

修改为

log4j.logger.p6spy=warn,STDOUT

以减少p6spy信息的输出

7、可以将dateformat=修改为dateformat=hh:mm:ss,SSS有利用时间信息的查看。

8、修改hibernate.cfg.xml,修改connection.driver_class的值为com.p6spy.engine.spy.P6SpyDriver

9、如果spy.log里出现

  你的程序的数据库驱动名称 is a real driver in spy.properties, but it has been loaded before
p6spy . p6spy will not wrap these connections. Either prevent the driver from loading, or try setting 'deregisterdrivers' to true in spy.properties

  请把spy.properties文件里的deregisterdrivers=false改为deregisterdrivers=true,重新运行即可。

10、在spring 配置文件中配置如下:

<!-- P6SPY dataSource target -->

< bean
id =
"dataSourceTarget" class
= "org.spring framework.jdbc.datasource.DriverManagerDataSource"
>
<
property name =
"driverClassName"
value =
"oracle.jdbc.OracleDriver" />

<
property name =
"url"
value =
"jdbc:oracle:thin:@localhost:1521:testdb"
/>
<
property name =
"username" value =
"tet" />

< property
name =
"password" value =
"test" />

</
bean >

<!-- dataSource -->

< bean id
= "dataSource4develop" class
= "com.p6spy .engine.spy.P6DataSource"
destroy-method =
"close" >

<
constructor-arg >
< ref
local =
"dataSourceTarget" />
</
constructor-arg >
</ bean
>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: