tomcat的log文件夹下有以下几种日志:
1、catalina.YYYY-MM-DD.log
catalina引擎输出的日志;catalina是tomcat的servlet引擎,(其他两大组件是处理html、css、js等静态文件的web容器和处理jsp文件的jasper引擎);catalina负责处理tomcat接入的请求,调度相应的servlet处理。catalina.YYYY-MM-DD.log文件中,主要是这部分业务逻辑的输出日志,在一般情况下,不需要关注
2、host-manager.YYYY-MM-DD.log
tomcat自带的host-manager应用的日志输出文件;如果在部署tomcat的时候,把webapps下面的host-manager删除了,则该日志文件为空。
3、localhost.YYYY-MM-DD.log
tomcat内部代码输出的日志文件;例如jasper引擎在解析jsp文件异常时输出的错误日志,就在该文件中。
4、manager.YYYY-MM-DD.log
tomcat自带的manager应用的日志输出文件;如果在部署tomcat的时候,把webapps下面的manager删除了,则该日志文件中为空。
5、catalina.out
所有输出到控制台的日志,被重定向至catalina.out;即程序中的System.out和System.err输出,均可以在这个日志文件中查询到。需要注意的是,该文件不支持rotate,会不断的膨胀,所以在应用程序中,尽量不要输出日志到控制台,统一输出到对应的日志文件中。如果有必要,可以使用cronolog对该日志文件进行分割;
6、localhost_access_log.YYYY-MM-DD.txt
访问日志,所有tomcat处理的请求和响应均在该文件中记录。
tomcat各种日志如何配置:
上述的1、2、3、4四种日志,在${tomcat_home}/conf/logging.properties文件中进行配置:
级别有OFF》server》warning》info》config》fine》finer》finest》ALL
catalina.out在catalina.sh中进行配置:
在启动脚本中,把所有控制台的输出重定向到了catalina.out文件中;可以修改脚本,把日志文件输出到别的路径
localhost_access_log日志在server.xml中进行配置:
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
server.xml中该日志的配置是被注释了的,如果需要输出访问日志,可以取消这部分配置的注释。其中directory是日志输出的文件路径,以tomcat安装路径作为当前路径;pattern表示日志的格式,common是tomcat提供的一个标准设置格式。其具体的表达式为 %h %l %u %t “%r" %s %b,我们也可以根据需要,配置自己的pattern(直接把common替换为具体的格式表达式即可)。该日志支持的格式化参数如下。一般可以对tomcat的访问日志做日志分析,做相关的数据统计。
* %a - Remote IP address
* %A - Local IP address
* %b - Bytes sent, excluding HTTP headers, or '-' if zero
* %B - Bytes sent, excluding HTTP headers
* %h - Remote host name (or IP address if resolveHosts is false)
* %H - Request protocol
* %l - Remote logical username from identd (always returns '-')
* %m - Request method (GET, POST, etc.)
* %p - Local port on which this request was received
* %q - Query string (prepended with a '?' if it exists)
* %r - First line of the request (method and request URI)
* %s - HTTP status code of the response
* %S - User session ID
* %t - Date and time, in Common Log Format
* %u - Remote user that was authenticated (if any), else '-'
* %U - Requested URL path
* %v - Local server name
* %D - Time taken to process the request, in millis
* %T - Time taken to process the request, in seconds