tomcat6 日志配置说明

更详细的解释请认真阅读 官方文档日志介绍  http://tomcat.apache.org/tomcat-6.0-doc/logging.html

一、tomcat 中应用记录日志的三种方式

  • 使用 java.util.logging (tomcat 默认使用的)
  • 使用 java servlet 提供的日志API javax.servlet.ServletContext.log(...)
  • 使用日志框架 比如log4j

二、JULI (后续的logging.properties里可以看到)

      关于java.util.logging API,tomcat有其自己的实现 被称为"JULI",它是一个常用的日志管理实现,它能感知tomcat中运行的多个不同的application(它们有各自的类加载器),它支持针对每一个部署的应用

单独配置其日志配置(logging.properties)。

     使用tomcat的启动脚本启动服务器(java)时,java.util.logging将自动生效,但如果你使用的是其他的启动方式(非脚本):比如集成到IDE里启动,则需要自己关注是否生效。

1、全局日志配置

 默认使用 ${catalina.base}/conf/logging.properties 目录下的配置,此路径可以在启动时在脚本中通过参数java.util.logging.config.file 设置。如果没有配置上述文件,则会使用${java.home}/lib/logging.properties路径下配置

2、Application

对于部署在tomcat中的应用,如果想看到更多的详细信息,可以将配置文件放置在 WEB-INF/classes目录下

logging.properties配置的例子

handlers = 1catalina.org.apache.juli.FileHandler, \
           2localhost.org.apache.juli.FileHandler, \
           3manager.org.apache.juli.FileHandler, \
           java.util.logging.ConsoleHandler

.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################

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

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

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.bufferSize = 16384

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter


############################################################
# Facility specific properties.
# Provides extra control for each logger.
############################################################

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = \
   2localhost.org.apache.juli.FileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = \
   3manager.org.apache.juli.FileHandler

# For example, to log debug messages in ContextConfig and HostConfig
# classes and to log only warnings and errors in other
# org.apache.catalina.** classes, uncomment these lines:
#org.apache.catalina.startup.ContextConfig.level = FINE
#org.apache.catalina.startup.HostConfig.level = FINE
#org.apache.catalina.level = WARNING

 

三、关于tomcat中开启access.log日志的方法(默认关闭)

修改如下配置文件 tomcat/conf/server.xml

  <!--
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
  -->

 将上述注释掉的代码放开,就会产生access.log文件.

四、具体实践应用

在使用tomcat部署项目启动后(特别是使用struts,spring框架等),有的错误打印的很模糊,仅说明error,没有打印具体错误原因

例:

org.apache.catalina.core.StandardContext startInternal
SEVERE: Error listenerStart
org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/******] startup failed due to previous errors

想获取更多的报错信息,可以新建logging.properties配置文件,放置到该应用WEB-INF/calsses目录下 

 

handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler  
  
############################################################  
# Handler specific properties.  
# Describes specific configuration info for Handlers.  
############################################################  
  
org.apache.juli.FileHandler.level = FINE  
org.apache.juli.FileHandler.directory = ${catalina.base}/logs  
org.apache.juli.FileHandler.prefix = error-debug.  
  
java.util.logging.ConsoleHandler.level = FINE  
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

 

再次启动tomcat,报错日志会生成到logs目录下 

 

posted @ 2017-05-10 10:13  longdechuanren  阅读(2534)  评论(0编辑  收藏  举报