Tomcat訪問日誌淺析
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt" pattern="%s %D %t %a %U" fileDateFormat="yyyy-MM-dd.HH" resolveHosts="false"/>
Tomcat的訪問日誌是靠org.apache.catalina.valves.AccessLogValve來控制的,你可以修改$tomcat/conf/server.xml來啟用它 ($tomcat是Tomcat安裝的目錄)。AccessLogValve預設應該是註釋掉的,簡單的將其註釋去掉,然後重啟Tomcat就可以了。
以下是Tomcat預設的配置:
<valve classname=“org.apache.catalina.valves.accesslogvalve”< p=""></valve classname=“org.apache.catalina.valves.accesslogvalve”<>
directory=“logs” prefix=“localhost_access_log.” suffix=“.txt”
pattern=“common” resolveHosts=“false”/>
你可以設定日誌儲存的目錄(directory),日誌的檔名的字首(prefix),字尾(suffix)和日誌的具體格式。儲存目錄,檔名的字首、字尾都很簡單,一般預設設定也就可以了。resolveHost出於效能的考慮,一般也設為false. 但訪問日誌的格式(pattern)卻有很多的選項供你選擇。以下列出了一些基本的日誌格式項:
%a – 遠端主機的IP (Remote IP address)
%A – 本機IP (Local IP address)
%b – 傳送位元組數,不包含HTTP頭,0位元組則顯示 ‘-’ (Bytes sent, excluding HTTP headers, or ‘-’ if no bytes
were sent)
%B – 傳送位元組數,不包含HTTP頭 (Bytes sent, excluding HTTP headers)
%h – 遠端主機名 (Remote host name)
%H – 請求的具體協議,HTTP/1.0 或 HTTP/1.1 (Request protocol)
%l – 遠端使用者名稱,始終為 ‘-’ (Remote logical username from identd (always returns ‘-’))
%m – 請求方式,GET, POST, PUT (Request method)
%p – 本機埠 (Local port)
%q – 查詢串 (Query string (prepended with a ‘?’ if it exists, otherwise
an empty string)
%r – HTTP請求中的第一行 (First line of the request)
%s – HTTP狀態碼 (HTTP status code of the response)
%S – 使用者會話ID (User session ID)
%t – 訪問日期和時間 (Date and time, in Common Log Format format)
%u – 已經驗證的遠端使用者 (Remote user that was authenticated
%U – 請求的URL路徑 (Requested URL path)
%v – 本地伺服器名 (Local server name)
%D – 處理請求所耗費的毫秒數 (Time taken to process the request, in millis)
%T – 處理請求所耗費的秒數 (Time taken to process the request, in seconds)
你可以用以上的任意組合來定製你的訪問日誌格式,也可以用下面兩個別名common和combined來指定常用的日誌格式:
common – %h %l %u %t "%r" %s %b
combined -
%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"
另外你還可以將cookie, 客戶端請求中帶的HTTP頭(incoming header), 會話(session)或是ServletRequest中的資料都寫到Tomcat的訪問日誌中,你可以用下面的語法來引用。
%{xxx}i – 記錄客戶端請求中帶的HTTP頭xxx(incoming headers)
%{xxx}c – 記錄特定的cookie xxx
%{xxx}r – 記錄ServletRequest中的xxx屬性(attribute)
%{xxx}s – 記錄HttpSession中的xxx屬性(attribute)
比如下面是實際的一個訪問日誌格式的配置:
<valve classname=“org.apache.catalina.valves.accesslogvalve”< p=""></valve classname=“org.apache.catalina.valves.accesslogvalve”<>
directory=“logs” prefix=“phone_access_log.” suffix=“.txt”
pattern=“%h %l %T %t %r %s %b %{Referer}i %{User-Agent}i MSISDN=%{x-up-calling-line-id}i”resolveHosts=“false”/>
其中日誌格式(pattern)指定為”%h %l %T %t %r %s %b %{Referer}i %{User-Agent}i MSISDN=%{x-up-calling-line-id}i“,則實際的訪問日誌中將會包括:
%h – 遠端主機名
%l - 遠端使用者名稱,始終為 ‘-’
%T - 處理請求所耗費的秒數
%t – 訪問日期和時間
%r – HTTP請求中的第一行
%s – HTTP狀態碼
%b – 傳送位元組數,不包含HTTP頭(0位元組則顯示 ‘-’)
%{Referer}i – Referer URL
%{User-Agent}i – User agent
MSISDN=%{x-up-calling-line-id}i – 手機號
實際的訪問日誌如下:
xxx.xxx.xx.xxx – 0.270 [14/Jul/2008:13:10:53 +0800] POST /phone/xxx/gprs HTTP/1.1 200 91812 – SonyEricssonW890i/R1EA Profile/MIDP-2.1 Configuration/CLDC-1.1 MSISDN=11111111111
… …
xxx.xxx.xx.xxx – 0.083 [14/Jul/2008:21:20:55 +0800] POST /phone/xxx/gprs HTTP/1.1 200 404 – SonyEricssonW910i/R1FA Profile/MIDP-2.1 Configuration/CLDC-1.1 MSISDN=11111111111
來源:
給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow
相關文章
- FeignClient配置日誌訪問client
- 使用Fluentd + Elasticsearch收集訪問日誌Elasticsearch
- go fiber: 增加訪問日誌accesslogGo
- awk統計訪問nginx日誌次數Nginx
- 淺析Windows的訪問許可權檢查機制Windows訪問許可權
- 瘋狂刪除tomcat日誌Tomcat
- IDEA裡Tomcat Console日誌中文亂碼問題解決IdeaTomcat
- Linux下使用GoAccess監控Nginx訪問日誌LinuxGoNginx
- 如何訪問Docker容器中的Spring Boot日誌DockerSpring Boot
- 本地Tomcat外網訪問Tomcat
- tomcat+jsp訪問mysqlTomcatJSMySql
- Tomcat關閉日誌catalina.outTomcat
- 淺析JAVA日誌中的幾則效能實踐與原理解釋Java
- MySQL的共享鎖阻塞會話案例淺析輸入日誌標題MySql會話
- OSS訪問日誌分析(1):概念+巨集觀指標指標
- 【日誌亂碼】解決Tomcat啟動控制檯亂碼問題Tomcat
- 日誌服務之分析使用者訪問行為
- 獲取Tomcat更詳細的日誌Tomcat
- 淺析拉格朗日乘數法及其對偶問題
- ITMySQL錯誤日誌與通用查詢日誌圖文詳析jugMySql
- web server apache tomcat11-22-logging 日誌WebServerApacheTomcat
- 在linux上怎麼檢視tomcat日誌LinuxTomcat
- 網站訪問變慢最佳化,淺析10種網站訪問變慢最佳化方法的作用網站
- nginx高階訪客日誌切割Nginx
- log4js快速寫一個Node服務訪問日誌JS
- Nginx訪問日誌詳解——各個部分含義——非常簡單Nginx
- tomcat8配置https協議訪問TomcatHTTP協議
- C# Task若干問題淺析C#
- 敢問路在何方——Flutter 路由淺析Flutter路由
- 啟動tomcat時,日誌裡大量輸出建立資料來源dataSource的日誌Tomcat
- 深入淺出訪問者模式模式
- SEO優化之淺談蜘蛛日誌優化
- 在Linux中,如何統計ip訪問情況?分析 nginx 訪問日誌?如何找出訪問頁面數量在前十位的ip?LinuxNginx
- linux tomcat 開通443 (用https安全訪問)LinuxTomcatHTTP
- 提高網站訪問效能之Tomcat優化網站Tomcat優化
- 從外部訪問阿里雲伺服器Tomcat阿里伺服器Tomcat
- AutoMySQLBackup加密備份解密問題淺析MySql加密解密
- 深入淺出Tomcat/4 - Tomcat容器Tomcat