tomcat日志 tomcat日志配置
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、崇信網(wǎng)站維護(hù)、網(wǎng)站推廣。
在server.xml里的
directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/> 就可以了,下面咱們逐一分析各個(gè)參數(shù)。 className 官方文檔上說了This MUST be set to org.apache.catalina.valves.AccessLogValve to use the default access log valve. &<60; 想配置訪問日志?這就必須得寫成這樣。 directory 這個(gè)東西是日志文件放置的目錄,在tomcat下面有個(gè)logs文件夾,那里面是專門放置日志文件的,當(dāng)然你也可以修改,我就給改成了/opt (E:\) prefix 這個(gè)是日志文件的名稱前綴,我的日志名稱為localhost_access_log.2017-11-06.txt,前面的前綴就是這個(gè)localhost_access_log suffix 這就是后綴名啦,可以改成別的 pattern 這個(gè)是最主要的參數(shù)了,具體的咱們下面講,這個(gè)參數(shù)的內(nèi)容比較豐富。 resolveHosts 如果這個(gè)值是true的話,tomcat會(huì)將這個(gè)服務(wù)器IP地址通過DNS轉(zhuǎn)換為主機(jī)名,如果是false,就直接寫服務(wù)器IP地址啦 還有一些參數(shù): rotatable 缺省值為true,默認(rèn)的設(shè)置使得你的tomcat生成的文件命為prefix(前綴)+.+時(shí)間(一般是按天算)+.+suffix(后綴),參照我的日志名就知道了:localhost_access_log.2017-11-06.txt 使用這個(gè)需要謹(jǐn)慎,因?yàn)槟銓⑵湓O(shè)置為false的話,tomcat會(huì)忽略時(shí)間,不會(huì)新生成文件,最后導(dǎo)致你的文件超級(jí)大,這樣生成的文件名就是:localhost_access_log.txt condition 這個(gè)參數(shù)不太實(shí)用,可以設(shè)置任何值,比如咱們?cè)O(shè)置成condition="tkq",那么只有當(dāng)ServletRequest.getAttribute("tkq")為空的時(shí)候,才會(huì)被記錄下來 fileDateFormat 最后的一個(gè)參數(shù),是時(shí)間格式,但是這個(gè)時(shí)間格式是針對(duì)日志文件起作用的,還記得咱們生成的日志文件全名么:localhost_access_log.2017-11-06.txt,這里面的2017-11-06就是這么來的,如果你想讓tomcat每小時(shí)生成一個(gè)日志文件,也很簡單,將這個(gè)值設(shè)置為:fileDateFormat="yyyy-MM-dd.HH",當(dāng)然也可以按分鐘生成什么的,自己改改吧 上面是所有的9個(gè)參數(shù),剛才咱們說了,pattern這個(gè)參數(shù)的值比較多,咱們拿下來單獨(dú)說: pattern可以設(shè)置成兩種方式,第一種是pattern="common",第二種是pattern="combined",這就可以控制日志里面的格式,各位說了,pattern就這兩種?common和combined又是什么意思,具體是什么格式呢? 咱們一點(diǎn)一點(diǎn)看,其實(shí)pattern是可以設(shè)置的,common和combined只是集成了一些顯示方式,就是將顯示方式給組合了,pattern的實(shí)際值有如下幾種,都是后面一個(gè)字母,前面一個(gè)%百分號(hào),咱們先貼出來我的日志里面的一條記錄,對(duì)應(yīng)著看 127.0.0.1 192.168.254.108 - -1 15.43.45.122 HTTP/1.1 - GET 80&<60; GET /seces/commonService?wsdl HTTP/1.1 304 5563A67708646B6AA299C33D59BE132A [06/Nov/2017:10:08:52 +0800] - /seces/commonService?wsdl localhost 0 0.053 %a 這是記錄訪問者的IP,在日志里是127.0.0.1 %A 這是記錄本地服務(wù)器的IP,在日志里是192.168.254.108 %b 這是發(fā)送信息的字節(jié)數(shù),不涵括http頭,如果字節(jié)數(shù)為0的話,顯示為- %B 看tomcat的解釋,沒看出來與b%的區(qū)別,但我這里顯示為-1,沒想明白,望知道者告知,我把官方解釋貼出來吧 Bytes sent, excluding HTTP headers(發(fā)送的字節(jié)數(shù),不包括HTTP頭) %h 遠(yuǎn)端主機(jī)名(如果resolveHost=false,遠(yuǎn)端的IP地址) %H 訪問者使用的協(xié)議,這里是HTTP/1.1 %l 官方說這個(gè)always return '-' 官方解釋:Remote logical username from identd (可能這樣翻譯:記錄瀏覽者進(jìn)行身份驗(yàn)證時(shí)提供的名字){從identd返回的遠(yuǎn)端邏輯用戶名(總是返回 '-')}; %m 訪問的方式,是GET還是POST,我這是GET %p 收到請(qǐng)求的本地端口號(hào),這里的是80。 %q 查詢字符串(如果存在,以 '?'開始)。 比如你訪問的是aaa.jsp?bbb=ccc,那么這里就顯示?bbb=ccc,明白了吧,這個(gè)q是querystring的意思 %r 官方解釋:First line of the request (method and request URI)——請(qǐng)求的第一行,包含了請(qǐng)求的方法和URI %s 這個(gè)是響應(yīng)http的狀態(tài)碼,這里返回的是304,咱們經(jīng)??匆娫L問某個(gè)網(wǎng)頁報(bào)錯(cuò)誤500什么的,那也會(huì)返回500 %S 用戶的session ID,這個(gè)session ID大家可以另外查一下詳細(xì)的解釋,反正每次都會(huì)生成不同的session ID %t 日志和時(shí)間,使用通常的Log格式 %u 認(rèn)證以后的遠(yuǎn)端用戶(如果存在的話,否則為'-') %U 請(qǐng)求訪問的URL地址,我這里是/seces/commonService?wsdl %v 本地服務(wù)器名稱,可能就是你url里面寫的那個(gè)吧,我這里是localhost %D 官方解釋:Time taken to process the request, in millis,處理請(qǐng)求的時(shí)間,以毫秒為單位 %T 官方解釋:Time taken to process the request, in seconds,處理請(qǐng)求的時(shí)間,以秒為單位 common的值:%h %l %u %t %r %s %b combined的值:%h %l %u %t %r %s %b %{Referer}i %{User-Agent}i 至于combined的值的最后兩個(gè):
%{User-agent}i:用戶的User-Agent
網(wǎng)頁題目:tomcat訪問日志詳解
文章URL:http://weahome.cn/article/gocejp.html