最近项目里用到了 spring mvc 的restful + mybatis, 其中restful提供web 服务,mybatis用数据库操作。
现在需要在此框架基础上,监听web服务的各类请求。
首先web项目部署在tomcat上,可以从tomcat的conf/server.xml中看到,关于log的配置,如下:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host>
如此,在项目工程下查找workspace.metadata.pluginsorg.eclipse.wst.server.core mp0logs目录,即可看到以localhost_access_log开头的日志文件。
里面存储的信息也是按照pattern格式内容。具体参照:http://tomcat.apache.org/tomcat-6.0-doc/config/valve.html
***************************************
在spring-mvc的框架中,AnnotationMethodHandlerAdapter类用来处理分发请求。其中invokeHandlerMethod用来调用具体的请求方法。其中ServletWebRequest webRequest可以看到请求的URI以及client ip。想要记录这些信息的话,可以输出到log文件中去。
而在spring中利用mybatis对数据库进行的操作,可以通过log4j配置输出。具体配置如下:
# MyBatis logging configuration... log4j.logger.cn.ac.iscas.pebble.ufe.inter=DEBUG log4j.logger.java.sql.Statement=DEBUG log4j.logger.java.sql.Connection=DEBUG log4j.logger.java.sql.PreparedStatement=DEBUG log4j.logger.java.sql.ResultSet=DEBUG #log4j.logger.com.springframework=DEBUG log4j.logger.com.ibatis=DEBUG log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
关于log4j的文章,可以参考如下:
http://blog.csdn.net/yuyongpeng/article/details/1777892
http://hbiao68.iteye.com/blog/1947618
http://blog.csdn.net/seeds_home/article/details/7800908
❤http://www.cnblogs.com/suman/archive/2010/10/23/1858864.html
http://blog.csdn.net/goodleiwei/article/details/7059589