Tomcat自帶log的配置詳解


  最近幾天被日志搞得煩死了,不詳細了解不行呀!

Tomcat根目錄文件作用說明

根目錄下有bin,conf,lib,logs,temp,webapps,work 7個文件夾

bin目錄

  主要是用來存放tomcat的命令,主要有兩大類,一類是以.sh結尾的(linux命令),另一類是以.bat結尾的(windows命令)。

重要:很多環境變量的設置都在此處,例如可以設置JDK路徑、TOMCAT路徑

startup 用來啟動tomcat

shutdown 用來關閉tomcat

catalina.sh可以設置tomcat的內存

conf目錄

  主要是用來存放tomcat的一些配置文件。

server.xml可以設置端口號、設置域名或IP、默認加載的項目、請求編碼

web.xml可以設置tomcat支持的文件類型

context.xml可以用來配置數據源之類的

tomcat-users.xml用來配置管理tomcat的用戶與權限

在Catalina目錄下可以設置默認加載的項目

lib目錄

  主要用來存放tomcat運行需要加載的jar包,像連接數據庫的jdbc的包我們可以加入到lib目錄中來。

logs目錄

  用來存放tomcat在運行過程中產生的日志文件,非常重要的是在控制台輸出的日志。(清空不會對tomcat運行帶來影響)

在windows環境中,控制台的輸出日志在catalina.xxxx-xx-xx.log文件中

在linux環境中,控制台的輸出日志在catalina.out文件中

temp目錄

  用戶存放tomcat在運行過程中產生的臨時文件。(清空不會對tomcat運行帶來影響)

webapps目錄

  用來存放應用程序,當tomcat啟動時會去加載webapps目錄下的應用程序。可以以文件夾、war包、jar包的形式發布應用(項目部署后的工程文件)

 當然,你也可以把應用程序放置在磁盤的任意位置,在配置文件中映射好就行。(映射在server.conf配置)

work目錄

  用來存放tomcat在運行時的編譯后文件,例如JSP編譯后的文件。清空work目錄,然后重啟tomcat,可以達到清除緩存的作用

 


  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.log)

修改步驟

     打開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  #定日志輸出的路徑根目錄下logs/

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

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


Tomcat日志總結

1 Tomcat 日志信息分為兩類 :

一是運行中的日志,它主要記錄運行的一些信息,尤其是一些異常錯誤日志信息 。

二是訪問日志信息,它記錄的訪問的時間,IP ,訪問的資料等相關信息。  localhost_acces.log

 

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字段的含義請參照 :

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

 

更改 Tomcat 日志路徑 

目的: 能通過瀏覽器檢查tomcat日志

方法:將 tomcat 的日志放置到 $CATALINA_HOME/webapps/ROOT/logs 下,用戶就可以通過 http://xxx.xxx.xxx.xxx/logs/catalina.out 訪問日志了。

1. 修改tomcat/conf下的logging.properties 

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

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

3manager.org.apache.juli.FileHandler.level = FINE
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/webapps/ROOT/logs
3manager.org.apache.juli.FileHandler.prefix = manager.

4host-manager.org.apache.juli.FileHandler.level = FINE
4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/webapps/ROOT/logs
4host-manager.org.apache.juli.FileHandler.prefix = host-manager.
View Code

2. 修改tomcat/bin/catalina.sh 

if [ -z "$CATALINA_OUT" ] ; then
  CATALINA_OUT="$CATALINA_BASE"/webapps/ROOT/logs/catalina.out
fi

【注意】紅色字體是需要修改的內容,修改為當前 tomcat 的最新的網站根目錄即可。

3、重啟 tomcat

4、使用瀏覽器即可查看日志: http://xxx.xxx.xxx.xxxx/logs/catalina.out

 

學習借鑒:

http://huangrongyou.iteye.com/blog/1577508

https://jingyan.baidu.com/article/f3e34a128551b7f5ea653544.html

http://www.cnblogs.com/AloneSword/p/3357107.html


免責聲明!

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



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