日志探索

最近项目里用到了 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 &quot;%r&quot; %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

原文地址:https://www.cnblogs.com/dorothychai/p/3897043.html