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目錄下 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM