10秒为任意数据库增加执行日志功能(2)
2008-02-23 09:16:01来源:互联网 阅读 ()
(1)打开webapp\WEB-INF\classes\ mvncore.xml,重新配置:
修改之前:
<driver_class_name>com.MySQL.jdbc.Driver</driver_class_name>
<database_url>listenerconfig=c:/log/jdbmonitor/config.xml:url= jdbc:MySQL://localhost/mvnforum?useUnicode=true&characterEncoding=utf-8</database_url>
修改之后:
<driver_class_name> com.cownew.JDBMonitor.jdbc.DBDriver </driver_class_name>
<database_url>jdbc:mysql://localhost/mvnforum?useUnicode=true&characterEncoding=utf-8</database_url>
(2)创建文件 c:/log/jdbmonitor/config.xml。我只想将SQL语句记录到文本文件中,所以我做如下配置:
<config>
<Listeners>
<!--the arguments of FileDBListener is the file to log the SQL statement -->
<Listener class="com.cownew.JDBMonitor.listenerImpl.FileDBListener" arg="c:/log.txt"/>
</Listeners>
<JdbcDrivers>
<JdbcDriver class="com.mysql.jdbc.Driver"/>
</JdbcDrivers>
</config>
(3) 将 jdbmonitor.jar放到webapp\WEB-INF\lib下。
(4) 搞定!
Jive的例子:
您可以从http://www.jivesoftware.com得到Jive。我演示用的版本是 Jive 2.0 beta版。
(1)打开http://localhost:8080/jive/admin/
“jdbc” 填为:com.cownew.JDBMonitor.jdbc.DBDriver
“server” 填为:c:/log/jdbmonitor/config.xml:url=jdbc:mysql://locahost/jive
(2)将 jdbmonitor.jar放到WEB-INF\lib下
(4) 象mvnforum中一样创建同样的 c:/log/jdbmonitor/config.xml 文件.
(4) 搞定!
代码方式的例子:
尽管直接在代码中指定系统所用的JDBC驱动类名和JDBC连接字符串是不推荐的,但是仍然有系统是这么做的。
比如:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = null;
PreparedStatement ps = null;
try
{
conn = DriverManager
.getConnection("jdbc:odbc:MQIS");
for (int i = 0; i < 1000; i )
{
ps = conn.prepareStatement("update T_Material set fid=fid");
ps.execute();
ps.close();
}
} finally
{
....
}
(1)修改一下代码为:
Class.forName("com.cownew.JDBMonitor.jdbc.DBDriver");
Connection conn = null;
PreparedStatement ps = null;
try
{
conn = DriverManager.getConnection("listenerconfig= c:/log/jdbmonitor/config.xml:url=jdbc:odbc:MQIS");
for (int i = 0; i < 1000; i )
{
ps = conn.prepareStatement("update T_Material set fid=fid");
ps.execute();
ps.close();
}
} finally
{
....
}
(2)创建c:/log/jdbmonitor/config.xml文件。我想记录SQL语句到文本文件中同时输出到控制台,这样可以辅助我进行调试,所以我配置如下:
<config>
<Listeners>
<!--the arguments of FileDBListener is the file to log the SQL statement -->
<Listener class="com.cownew.JDBMonitor.listenerImpl.FileDBListener" arg="c:/log.txt"/>
<!--ConsoleDBListener no arguments-->
<Listener class="com.cownew.JDBMonitor.listenerImpl.ConsoleDBListener" arg=""/>
</Listeners>
<JdbcDrivers>
<JdbcDriver class="com.mysql.jdbc.Driver"/>
</JdbcDrivers>
</config>
(3) 将 jdbmonitor.jar放到类路径下。
(4) 搞定!
监听器
我们已经开发了如下常用的监听器:FileDBListener、ConsoleDBListener、 SocketDBListener、DataBaseDBListener。
1、ConsoleDBListener 控制台监听器
ConsoleDBListener会将SQL语句打印到控制台中。
这个监听器很容易配置:
<Listener class="com.cownew.JDBMonitor.listenerImpl.ConsoleDBListener" arg=""/>
2、FileDBListener 文件监听器
FileDBListener 会将SQL语句保存到文本文件中。
如下配置:
<Listener class="com.cownew.JDBMonitor.listenerImpl.FileDBListener" arg="c:/aaa.txt"/>
arg="c:/aaa.txt"表示日志将保存到文件c:/aaa.txt中。
3、SocketDBListener Socket监听器
SocketDBListener是一个socket服务器,客户端连接到它上边以后就可以接收到它发出的SQL语句。
如下配置:
<Listener class="com.cownew.JDBMonitor.listenerImpl.SocketDBListener" arg="9527"/>
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:有关J2SE的一些东西
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
