tomcat日誌

  • Tomcat訪問日誌詳細配置
  • 博客分類: Tomcat
  • TomcatApacheAccess瀏覽器JSP
  • 在server.xml裏的<host>標籤下加上
  • <Valve className="org.apache.catalina.valves.AccessLogValve"
  • directory="logs" prefix="localhost_access_log." suffix=".txt"
  • pattern="common" resolveHosts="false"/>
  • 就能夠了,下面我們逐一分析各個參數。
  • className
  • 官方文檔上說了This MUST be set to org.apache.catalina.valves.AccessLogValve to use the default access log valve. &<60; 想配置訪問日誌?這就必須得寫成這樣。
  • directory
  • 這個東西是日誌文件放置的目錄,在tomcat下面有個logs文件夾,那裏面是專門放置日誌文件的,固然你也能夠修改,我就給改爲了D:\
  • prefix
  • 這個是日誌文件的名稱前綴,個人日誌名稱爲localhost_access_log.2007-09-22.txt,前面的前綴就是這個localhost_access_log
  • suffix
  • 這就是後綴名啦,能夠改爲別的
  • pattern
  • 這個是最主要的參數了,具體的我們下面講,這個參數的內容比較豐富。
  • resolveHosts
  • 若是這個值是true的話,tomcat會將這個服務器IP地址經過DNS轉換爲主機名,若是是false,就直接寫服務器IP地址啦
  • 還有一些參數:
  • rotatable
  • 默認爲true,默認的設置使得你的tomcat生成的文件命爲prefix(前綴)+.+時間(通常是按天算)+.+suffix(後綴),參照個人日誌名就知道了:localhost_access_log.2007-09-22.txt
  • 使用這個須要謹慎,由於你將其設置爲false的話,tomcat會忽略時間,不會新生成文件,最後致使你的文件超級大,這樣生成的文件名就是:localhost_access_log.txt
  • condition
  • 這個參數不太實用,能夠設置任何值,好比我們設置成condition="tkq",那麼只有當ServletRequest.getAttribute("tkq")爲空的時候,纔會被記錄下來
  • fileDateFormat
  • 最後的一個參數,很明白,這就是時間格式嘛,可是這個時間格式是針對日誌文件起做用的,還記得我們生成的日誌文件全名麼:localhost_access_log.2007-09-22.txt,這裏面的2007-09-22就是這麼來的,若是你想讓tomcat每小時生成一個日誌文件,也很簡單,將這個值設置爲:fileDateFormat="yyyy-MM-dd.HH",固然也能夠按分鐘生成什麼的,本身改改吧
  • 上面是全部的9個參數,剛纔我們說了,pattern這個參數的值比較多,我們拿下來單獨說:
  • pattern能夠設置成兩種方式,第一種是pattern="common",第二種是pattern="combined"
  • 這就能夠控制日誌裏面的格式,各位說了,pattern就這兩種?common和combined又是什麼意
  • 思,具體是什麼格式呢?
  • 彆着急,我們一點一點看,其實pattern是能夠設置的,common和combined只是集成了一些顯
  • 示方式,就是將顯示方式給組合了,pattern的實際值有以下幾種,都是後面一個字母,前面
  • 一個%百分號
  • 我們先貼出來個人日誌裏面的一條記錄,對應着看
  • 127.0.0.1 192.168.254.108 - -1 127.0.0.1 HTTP/1.1 - GET 80&<60; GET /rightmainima/leftbott4.swf HTTP/1.1 304 5563A67708646B6AA299C33D59BE132A [22/Sep/2007:10:08:52 +0800] - /rightmainima/leftbott4.swf localhost 0 0.000
  • %a
  • 這是記錄訪問者的IP,在日誌裏是127.0.0.1
  • %A
  • 這是記錄本地服務器的IP,在日誌裏是192.168.254.108
  • %b
  • 這是發送信息的字節數,不涵括http頭,若是字節數爲0的話,顯示爲-
  • %B
  • 看tomcat的解釋,沒看出來與b%的區別,但我這裏顯示爲-1,沒想明白,望知道者告知,我把官方解釋貼出來吧 Bytes sent, excluding HTTP headers
  • %h
  • 這個就是服務器名稱了,若是resolveHosts爲false的話,這裏就是IP地址了,個人日誌裏是127.0.0.1
  • %H
  • 訪問者使用的協議,這裏是HTTP/1.1
  • %l
  • 這個也不太清楚,官方也說這個always return '-' 官方解釋:Remote logical username from identd (可能這樣翻譯:記錄瀏覽者進行身份驗證時提供的名字)(always returns '-')
  • %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),不是很明白
  • %s
  • 這個是http的狀態,我這裏返回的是304,我們常常看見訪問某個網頁報錯誤500什麼的,那也會返回500
  • %S
  • 用戶的session ID,這個session ID你們能夠另外查一下詳細的解釋,反正每次都會生成不一樣的session ID
  • %t
  • 這就是時間啦,好像有一個Common Log Format能夠改,不過我沒找到
  • %u
  • 獲得了驗證的訪問者,不然就是"-"
  • %U
  • 訪問的URL地址,我這裏是/rightmainima/leftbott4.swf
  • %v
  • 服務器名稱,可能就是你url裏面寫的那個吧,我這裏是localhost
  • %D
  • 官方解釋:Time taken to process the request, in millis,應該是訪問發生的時間,以毫秒記
  • %T
  • 官方解釋:Time taken to process the request, in seconds,應該是訪問發生的時間,以秒記
  • common的值:%h %l %u %t %r %s %b
  • combined的值:%h %l %u %t %r %s %b %{Referer}i %{User-Agent}i
  • 至於combined的值的最後兩個爲何會這樣,我也不太清楚…
  • 這就是全部的參數了,歡迎交流探討!
  • 這是官方的解釋地址:http://tomcat.apache.org/tomcat-5.5-doc/config/valve.html
  • 這個也能夠看一看作參考:http://tomcat.apache.org/tomcat-5.0-doc/config/logger.html
  • 還有這個:http://tomcat.apache.org/tomcat-5.0-doc/config/host.html
  • Apache官方對Tomcat訪問日誌的配置介紹的並不詳細,你們能夠參考Apache(web server)的訪問日誌,二者有至關多類似的地方
相關文章
相關標籤/搜索