1. 程式人生 > 其它 >Tomcat定義日誌

Tomcat定義日誌

定義日誌格式

[root@node3 ~]# vim /usr/local/apache-tomcat-9.0.52/conf/server.xml
....
    ....
        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
========================= 定義日誌格式  開始================================
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".log"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
========================= 定義日誌格式  結束================================
      </Host>
    </Engine>
  </Service>
</Server>



引數詳解:
className:官方說明必須按照預設配置不可更改。 
directory:日誌檔案位置。 
prefix:日誌檔案字首。 
suffix:日誌檔案字尾。 
pattern:日誌模式引數,設定引數很豐富,引數說明見下表。 
resolveHosts:如果這個值是true的話,tomcat會將這個伺服器IP地址通過DNS轉換為主機名,如果是false,就直接寫伺服器IP地址。

pattern 引數: 
%a - 遠端IP地址 
%A - 本地IP地址 
%b - 傳送的位元組數,不包括HTTP頭,如果為0,使用”-” 
%B - 傳送的位元組數,不包括HTTP頭 
%h - 遠端主機名(如果resolveHost=false,遠端的IP地址) 
%H - 請求協議 
%l - 從identd返回的遠端邏輯使用者名稱(總是返回 ‘-‘) 
%m - 請求的方法(GET,POST,等) 
%p - 收到請求的本地埠號 
%q - 查詢字串(如果存在,以 ‘?’開始) 
%r - 請求的第一行,包含了請求的方法和URI 
%s - 響應的狀態碼 
%S - 使用者的session ID 
%t - 日誌和時間,使用通常的Log格式 
%u - 認證以後的遠端使用者(如果存在的話,否則為’-‘) 
%U - 請求的URI路徑 
%v - 本地伺服器的名稱 
%D - 處理請求的時間,以毫秒為單位 
%T - 處理請求的時間,以秒為單位

定義日誌等級和日誌位置目錄

[root@node3 ~]# vim /usr/local/apache-tomcat-9.0.52/conf/logging.properties
1catalina.org.apache.juli.AsyncFileHandler.level = FINE                         ===>日誌等級
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs    ===>日誌位置
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.                   ===>日誌開頭符
1catalina.org.apache.juli.AsyncFileHandler.maxDays = 90
1catalina.org.apache.juli.AsyncFileHandler.encoding = UTF-8                     ===>字符集

2localhost.org.apache.juli.AsyncFileHandler.level = FINE
2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.
2localhost.org.apache.juli.AsyncFileHandler.maxDays = 90
2localhost.org.apache.juli.AsyncFileHandler.encoding = UTF-8

3manager.org.apache.juli.AsyncFileHandler.level = FINE
3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.AsyncFileHandler.prefix = manager.
3manager.org.apache.juli.AsyncFileHandler.maxDays = 90
3manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8

4host-manager.org.apache.juli.AsyncFileHandler.level = FINE
4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.
4host-manager.org.apache.juli.AsyncFileHandler.maxDays = 90
4host-manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
java.util.logging.ConsoleHandler.encoding = UTF-8

日誌等級

Log level Description

SEVERE:(highest) Captures exception and Error
WARNING:Warning messages
INFO:Informational message, related to the server activity
CONFIG: Configuration message
FINE:Detailed activity of the server transaction (similar to debug)
FINER:More detailed logs than FINE
FINEST:(least) Entire flow of events (similar to trace)