Tomcat日志设置
时间:2016-12-09 17:21 来源:linux.it.net.cn 作者:IT
【系统环境:CentOS-6.6-x86_64】
【Tomcat版本:7.0.62】
Tomcat日志概述
Tomcat 日志信息分为两类:
-
访问日志信息,记录访问的时间,IP,访问的资料等相关信息。
-
运行中的日志,主要记录运行的一些信息,尤其是一些异常错误日志信息。
访问日志:
Tomcat访问日志的配置在TOMCAT_HOME/conf/server.xml中(注:注释以下内容即可关闭访问日志)
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
参数详解:
className:官方说明必须按照默认配置不可更改。 directory:日志文件位置。 prefix:日志文件前缀。 suffix:日志文件后缀。 pattern:日志模式参数,设置参数很丰富,参数说明见下表。 resolveHosts:如果这个值是true的话,tomcat会将这个服务器IP地址通过DNS转换为主机名,如果是false,就直接写服务器IP地址。
pattern 参数: %a - 远端IP地址 %A - 本地IP地址 %b - 发送的字节数,不包括HTTP头,如果为0,使用”-” %B - 发送的字节数,不包括HTTP头 %h - 远端主机名(如果resolveHost=false,远端的IP地址) %H - 请求协议 %l - 从identd返回的远端逻辑用户名(总是返回 ‘-‘) %m - 请求的方法(GET,POST,等) %p - 收到请求的本地端口号 %q - 查询字符串(如果存在,以 ‘?’开始) %r - 请求的第一行,包含了请求的方法和URI %s - 响应的状态码 %S - 用户的session ID %t - 日志和时间,使用通常的Log格式 %u - 认证以后的远端用户(如果存在的话,否则为’-‘) %U - 请求的URI路径 %v - 本地服务器的名称 %D - 处理请求的时间,以毫秒为单位 %T - 处理请求的时间,以秒为单位
运行日志:
-
运行日志分为5类:catalina 、localhost 、manager 、admin 、host-manager
-
日志的级别分为7种:SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value) 除此之外,还可以使用OFF关闭相关日志,使用ALL输出所有级别的日志
-
修改 TOMCAT_HOME/conf/logging.properties 中的内容,设定某类日志的级别
-
设置 catalina 日志的级别为: FINE
1catalina.org.apache.juli.FileHandler.level = FINE
-
禁用 catalina 日志的输出:
1catalina.org.apache.juli.FileHandler.level = OFF
-
输出 catalina 所有的日志消息:
1catalina.org.apache.juli.FileHandler.level = ALL
分割catalina.out日志文件
写在前面: tomcat日志文件logs/catalina.out默认不会自动rotate,该文件会越来越大,以致打开速度很慢甚至无法打开,因而需要自动分割catalina.out,每天生成一个新的catalina-yyyy-mm-dd.out格式的文件。
解决方法: cronolog可以协助Web Server之类的做 log档的 rotate,详细的运作原理大致如下: Tomcat先把输出写到 console(标准输出) 然后透过 pipe (|) 转为 cronolog 的输入,由cronolog针对一个事先给定的文件名的命名规则,去过滤数据,定期关闭旧文件,然后再开启新档。如果我们将文件名的命名规则设为catalina.out.%Y-%m-%d,就可以做到每天开一个新的catalina-yyyy-mm-dd.out的档案了。
Step1:安装cronolog
-
下载cronolog-1.6.2.tar.gz 至/usr/local/src/ 目录下 cd /usr/local/src tar zxvf cronolog-1.6.2.tar.gz (注意权限问题,否则可能出错)
-
当前目录下生成一个目录cronolog-1.6.2 cd cronolog-1.6.2
yum groupinstall "Development Tools" 安装环境(此处要有足够的权限)
./configure
make
make install
-
which cronolog查找安装路径,默认应该是/usr/local/sbin/cronolog,该路径待会在修改catalina.sh时用到。 
Step2:修改catalina.sh
1)将
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 "&"
修改为:
org.apache.catalina.startup.Bootstrap "$@" start \
2>&1 |/usr/local/sbin/cronolog "$CATALINA_BASE/logs/catalina-%Y-%m-%d.out" &
【注:共有两处要修改】

2)将touch “$CATALINA_OUT” 一行注释掉 (或直接删除)

Step3:重启tomcat使配置生效
查看logs/目录以验证配置生效:

(责任编辑:IT)
【系统环境:CentOS-6.6-x86_64】 Tomcat日志概述Tomcat 日志信息分为两类:
访问日志:Tomcat访问日志的配置在TOMCAT_HOME/conf/server.xml中(注:注释以下内容即可关闭访问日志) <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> 参数详解: className:官方说明必须按照默认配置不可更改。 directory:日志文件位置。 prefix:日志文件前缀。 suffix:日志文件后缀。 pattern:日志模式参数,设置参数很丰富,参数说明见下表。 resolveHosts:如果这个值是true的话,tomcat会将这个服务器IP地址通过DNS转换为主机名,如果是false,就直接写服务器IP地址。 pattern 参数: %a - 远端IP地址 %A - 本地IP地址 %b - 发送的字节数,不包括HTTP头,如果为0,使用”-” %B - 发送的字节数,不包括HTTP头 %h - 远端主机名(如果resolveHost=false,远端的IP地址) %H - 请求协议 %l - 从identd返回的远端逻辑用户名(总是返回 ‘-‘) %m - 请求的方法(GET,POST,等) %p - 收到请求的本地端口号 %q - 查询字符串(如果存在,以 ‘?’开始) %r - 请求的第一行,包含了请求的方法和URI %s - 响应的状态码 %S - 用户的session ID %t - 日志和时间,使用通常的Log格式 %u - 认证以后的远端用户(如果存在的话,否则为’-‘) %U - 请求的URI路径 %v - 本地服务器的名称 %D - 处理请求的时间,以毫秒为单位 %T - 处理请求的时间,以秒为单位 运行日志:
分割catalina.out日志文件写在前面: tomcat日志文件logs/catalina.out默认不会自动rotate,该文件会越来越大,以致打开速度很慢甚至无法打开,因而需要自动分割catalina.out,每天生成一个新的catalina-yyyy-mm-dd.out格式的文件。 解决方法: cronolog可以协助Web Server之类的做 log档的 rotate,详细的运作原理大致如下: Tomcat先把输出写到 console(标准输出) 然后透过 pipe (|) 转为 cronolog 的输入,由cronolog针对一个事先给定的文件名的命名规则,去过滤数据,定期关闭旧文件,然后再开启新档。如果我们将文件名的命名规则设为catalina.out.%Y-%m-%d,就可以做到每天开一个新的catalina-yyyy-mm-dd.out的档案了。 Step1:安装cronolog
Step2:修改catalina.sh 1)将 org.apache.catalina.startup.Bootstrap "$@" start \ >> "$CATALINA_OUT" 2>&1 "&" 修改为: org.apache.catalina.startup.Bootstrap "$@" start \ 2>&1 |/usr/local/sbin/cronolog "$CATALINA_BASE/logs/catalina-%Y-%m-%d.out" &
【注:共有两处要修改】
2)将touch “$CATALINA_OUT” 一行注释掉 (或直接删除) Step3:重启tomcat使配置生效
查看logs/目录以验证配置生效: (责任编辑:IT) |