tomcat 日志


1.Tomcat的日志(./tomca/logs/) 分為5類,這里面 1和5比較重要

1.catalina.2017-06-14.log 或者 catalina.out: 引擎的日志文件 2.host-manager.2017-06-14.log :                        tomcat的自帶的manager項目的日志信息
3.localhost.2017-06-14.log :                           Tomcat下內部代碼丟出的日志 
4.manager.2017-06-14.log :                             默認manager應用日志
5.localhost_access_log.2017-06-14.log: 客戶端訪問日志

 

2.每類日志的級別分為如下 7 種:
        SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)
日志級別的設定方法,修改 conf/logging.properties 中的內容,設定某類日志的級別

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.

示例:

禁用 catalina 日志的輸出:1catalina.org.apache.juli.FileHandler.level = OFF

輸出 catalina 所有的日志消息均輸出:1catalina.org.apache.juli.FileHandler.level = ALL

 

3.1客戶訪問日志的配置

<!-- 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=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" />
className:官方文檔上說了This MUST be set to ‘org.apache.catalina.valves.AccessLogValve’ 
to use the default access log valve. 配置訪問日志,這就必須得寫成這樣。
directory:這個東西是日志文件放置的目錄
prefix: 這個是日志文件的名稱前綴
suffix: 后綴名
pattern: 格式
resolveHosts:true的話,tomcat會將IP地址通過DNS轉換為主機名,如果是false,就直接寫服務器IP地址

3.2pattern 參數
pattern可以設置成兩種集成好的方式,
第一種是pattern="common"
第二種是pattern="combined"
common   的值: %h %l %u %t %r %s %b combined 的值: %h %l %u %t %r %s %b %{Referer}i %{User-Agent}i

至於combined的值的最后兩個:

    %{Referer}i:從那個頁面鏈接跳轉到的此頁面
    %{User-agent}i:用戶的User-Agent

 

pattern 也可以根據需要自由 組 合 , 例如 pattern="%h %l"

 
        
%a 這是記錄訪問者的IP,在日志里是127.0.0.1
%A 這是記錄本地服務器的IP,在日志里是192.168.254.108
%b 這是發送信息的字節數,不涵括http頭,如果字節數為0的話,顯示為- 
%B 看tomcat的解釋,沒看出來與b%的區別望告知,我把官方解釋貼出來吧 Bytes sent, excluding HTTP headers(發送的字節數,不包括HTTP頭) %h 遠端主機名(如果resolveHost=false,遠端的IP地址) %H 訪問者使用的協議,這里是HTTP/1.1
%l 官方說這個always return '-' 官方解釋:Remote logical username from identd     
(可能這樣翻譯:記錄瀏覽者進行身份驗證時提供的名字){從identd返回的遠端邏輯用戶名(總是返回 '-')};
%m 訪問的方式,是GET還是POST,我這是GET %p 收到請求的本地端口號,這里的是80。 %q 查詢字符串(如果存在,以 '?'開始)。 比如你訪問的是aaa.jsp?bbb=ccc,那么這里就顯示?bbb=ccc,明白了吧,這個q是querystring的意思 %r 官方解釋:First line of the request (method and request URI)——請求的第一行,包含了請求的方法和URI %s 這個是響應http的狀態碼,這里返回的是304,咱們經常看見訪問某個網頁報錯誤500什么的,那也會返回500 %S 用戶的session ID,這個session ID大家可以另外查一下詳細的解釋,反正每次都會生成不同的session ID %t 日志和時間,使用通常的Log格式 %u 認證以后的遠端用戶(如果存在的話,否則為'-'%U 請求訪問的URL地址,我這里是/seces/commonService?wsdl %v 本地服務器名稱,可能就是你url里面寫的那個吧,我這里是localhost %D 官方解釋:Time taken to process the request, in millis,處理請求的時間,以毫秒為單位 %T 官方解釋:Time taken to process the request, in seconds,處理請求的時間,以秒為單位
 
        

這里有個實例:( &quot;  這是雙引號的意思)

%h       %l %u            %t                  &quot;%r&quot;                                           %s  %b

10.0.7.15 - - [07/Jun/2018:08:42:18 +0800] "POST /IyunshuAppTest/suppliers/selectSupp_Biaoti HTTP/1.1" 200 322

 





 


免責聲明!

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



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