Tomcat日志配置


問題

tomcat每次啟動時,自動在logs目錄下生產以下日志文件,且每天都會生成對應日期的一個文件,造成日志文件眾多:

     localhost.2017-07-05.txt

     catalina.2017-07-05.txt

     manager.2017-07-05.txt

     host-manager.2017-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/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字段的含義請參照 :

http://tomcat.apache.org/tomcat-6.0-doc/config/valve.html 中的 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

 

示例:

#可配置項(5類日志):catalina、localhost、manager、admin、host-manager
handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler,
3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

#日志輸出為輸出到文件和輸出到控制台
.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

#日志輸出級別:SEVERE (最高級別) > WARNING > INFO > CONFIG > FINE > FINER(精心) > FINEST (所有內容,最低級別)
#配置文件使catalina日志輸出級別為FINE
1catalina.org.apache.juli.FileHandler.level = FINE
#catalina文件輸出位置
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
#catalina日志前綴為catalina
1catalina.org.apache.juli.FileHandler.prefix = catalina.

#配置文件使localhost日志輸出級別為FINE
2localhost.org.apache.juli.FileHandler.level = FINE
#localhost文件輸出位置
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
#localhost日志前綴為localhost
2localhost.org.apache.juli.FileHandler.prefix = localhost.

#配置文件使manager日志輸出級別為FINE
3manager.org.apache.juli.FileHandler.level = FINE
#manager文件輸出位置
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
#manager日志前綴為manager
3manager.org.apache.juli.FileHandler.prefix = manager.

#配置文件使host-manager日志輸出級別為FINE
4host-manager.org.apache.juli.FileHandler.level = FINE
#host-manager文件輸出位置
4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
#host-manager日志前綴為host-manager
4host-manager.org.apache.juli.FileHandler.prefix = host-manager.

#配置文件使控制台日志輸出級別為FINE
java.util.logging.ConsoleHandler.level = FINE
#控制台日志輸出格式
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

#localhost日志文件輸出級別為INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
#localhost日志文件輸出處理類2localhost.org.apache.juli.FileHandler
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler

#manager日志文件輸出級別為INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
#manager日志文件輸出處理類3manager.org.apache.juli.FileHandler
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler

#host-manager日志文件輸出級別為INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
#host-manager日志文件輸出處理類4host-manager.org.apache.juli.FileHandler
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.FileHandler

 


免責聲明!

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



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