首先在默认情况下tomcat是不开启访问日志的。而且tomcat的日志文件路径默认存储在tomcat安装路径下的logs文件夹内。我们首先编辑 ${catalina}/conf/server.xml 文件。 解释 :${catalina} 是 tomcat 的安装目录。本篇中我们编辑文件路径为/usr/local/tomcat6/conf/server.xml。执行命令nano /usr/local/tomcat6/conf/server.xml。
在打开文件后,将文件内
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
-->
的内容<!--与-->去掉,然后进行保存文件。
其中 directory是产生的目录 tomcat安装${catalina}作为当前目录pattern表示日志生产的格式,common是tomcat提供的一个标准设置格式。其具体的表达式为 %h %l %u %t "%r" %s %b。此处解释为:
%h 代表:访问的用户IP地址。
%l 代表: 访问逻辑用户名,通常返回‘-‘。
%u 代表: 访问验证用户名,通常返回‘-‘。
%t 代表: 访问日期。
%s 访问返回的http状态码。
%b 访问资源返回的流量。
待服务启动后,在浏览器进行项目的访问。然后我们查看logs文件夹内的localhost_access_log*.txt文件。可以看到已经有访问日志了。
然后我们修改日志格式,设置为我们常用的格式。其中修改pattern内的内容为:%h %l %u %t "%r" %s %b %T。此段格式代表的意思详细解释为:
%h 访问的用户IP地址。
%l 访问逻辑用户名,通常返回‘-‘。
%u 访问验证用户名,通常返回‘-‘。
%t 访问日期。
%r 访问的方式(post或者是get),访问的资源和使用的http协议版本。
%s 访问返回的http状态码。
%b 访问资源返回的流量。
%T 访问所使用的时间。
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b %T" resolveHosts="false" fileDateFormat="yyyy-MM-dd.HH"/>
然后进行重启tomcat,然后进行重新查看日志格式。可以看到已经出现我们要的日志。
fileDateFormat="yyyy-MM-dd.HH",会让日志文件按小时进行滚卷,
比默认的按天滚卷要好些,尤其是访问量大的网站,可以考虑写成fileDateFormat="yyyy-MM-dd.HH.mm",就会是每分钟一个日志文件了。
而且可以分别按Engine, Host, or Context,来记录自己的日志