ITPub博客

首页 > 应用开发 > Java > tomcat日志配置之一自带log

tomcat日志配置之一自带log

Java 作者:xz43 时间:2016-03-07 10:34:25 1 删除 编辑

问题

tomcat每次启动时,自动在logs目录下生产以下日志文件,且每天都会生成对应日期的一个文件,造成日志文件众多:

     localhost.2012-07-05.txt

     catalina.2012-07-05.txt

     manager.2012-07-05.txt

     host-manager.2012-07-05.txt

目的

     Tomcat以上日志都输出到同一个文件中。


修改步骤

     打开Tomcat目录conf\logging.properties,修改如下,所有日志输出到tomcat开头的文件中



1catalina.org.apache.juli.FileHandler.level = FINE

1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs

# 1catalina.org.apache.juli.FileHandler.prefix = catalina.

1catalina.org.apache.juli.FileHandler.prefix = tomcat.


2localhost.org.apache.juli.FileHandler.level = FINE

2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs

# 2localhost.org.apache.juli.FileHandler.prefix = localhost.

2localhost.org.apache.juli.FileHandler.prefix = tomcat.


3manager.org.apache.juli.FileHandler.level = FINE

3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs

# 3manager.org.apache.juli.FileHandler.prefix = manager.

3manager.org.apache.juli.FileHandler.prefix = tomcat.


4host-manager.org.apache.juli.FileHandler.level = FINE

4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs

# 4host-manager.org.apache.juli.FileHandler.prefix = host-manager.

4host-manager.org.apache.juli.FileHandler.prefix = tomcat.



Tomcat日志总结


1 Tomcat 日志信息分为两类 :

一是运行中的日志,它主要记录运行的一些信息,尤其是一些异常错误日志信息 。

二是访问日志信息,它记录的访问的时间,IP ,访问的资料等相关信息。


2 访问日志的配置

2.1 默认 tomcat 不记录访问日志,如下方法可以使 tomcat 记录访问日志

编辑 ${catalina}/conf/server.xml 文件. 注 :${catalina} 是 tomcat 的安装目录

把以下的注释 () 去掉即可。

 <!--

        <Valve className="org.apache.catalina.valves.AccessLogValve"

         directory="logs"  prefix="localhost_access_log." suffix=".txt"

         pattern="common" resolveHosts="false"/>

  -->

2.2 配置tomcat 写出更详细的日志

通过对 2.1 示例中 pattern 项的修改,可以改变日志输出的内容。

该项值可以为: common 与 combined ,这两个预先设置好的格式对应的日志输出内容如下:

common 的值: %h %l %u %t %r %s %b

combined 的值: %h %l %u %t %r %s %b %{Referer}i %{User-Agent}i

pattern 也可以根据需要自由组合, 例如 pattern="%h %l"


对于各fields字段的含义请参照 :

中的 Access Log Valve 项


3 修改Tomcat运行日志的等级

3.1  日志类型与级别

Tomcat 日志分为下面5类:

catalina 、 localhost 、 manager 、 admin 、 host-manager

每类日志的级别分为如下 7 种:

SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)

3.2  日志级别的设定方法

修改 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

因为file.encoding默认的字符集跟操作系统有关,中文操作系统下面默认的字符集是GBK,如果日志传输中用UTF-8,则不能正确转换,所以需要修改file.encoding的值为UTF-8。

部署在tomcat中的文件要修改file.encoding的值,可以在tomcat的catalina.bat文件中set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%的后面加上 -Dfile.encoding="UTF-8"

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9399028/viewspace-2050440/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
鱼儿的学习空间

注册时间:2010-11-16

  • 博文量
    424
  • 访问量
    1762807