apache&tomcat access訪問日誌
apache日誌一般有兩種:訪問日誌和錯誤日誌
錯誤日誌一般分位emerg、alert、crit、error、warn、notice、info、debug,緊急程度依次降低。一般工程出問題了都會選擇通過檢視錯誤日誌分析原因。
本次主要探討訪問日誌。。
如果你使用的是純Apache伺服器,那麼訪問日誌在Apache根目錄的conf資料夾內的httpd.conf檔案中配置。
如果你使用的是Apache tomcat伺服器,那麼訪問日誌在Apache根目錄的conf資料夾內的server.xml檔案中配置。
由於兩者並沒什麼大的差異,本文僅以tomcat為例。
tomcat中首先在server.xml檔案中配置如下:
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="combined" prefix="localhost_access_log." suffix=".txt" fileDateFormat="yyyy-MM-dd.HH" resolveHosts="false"/>
className:直接照抄值org.apache.catalina.valves.AccessLogValve即可,Tomcat依靠此java類實現對訪問日誌檔案的控制。
directory:儲存的日誌檔案路徑,前提是相對於tomcat的當前路徑。可不設定,預設值是“logs”(相對於
$CATALINA_HOME)
prefix:儲存的日誌檔名字首。
suffix:儲存的日誌檔名字尾。
resolveHosts:如需將將遠端主機的IP地址通過DNS查詢轉換成主機名,則設為true。如果為false,忽略DNS查詢,直接報告遠端的IP地址。出於效能考慮最好設為false。
fileDateFormat:使用定製的日期格式決定日誌檔案翻轉的頻率。如此處設為yyyy-MM-dd.HH則每小時儲存一個。去掉的話。預設是一天。最好直接去掉即可,每天凌晨更新儲存一個當天的日誌檔案。
rotatable:預設值為true,用來決定日誌是否翻轉的標誌。如果為false,日誌檔案永遠不翻轉,並且忽略fileDataFormat。要謹慎使用。最好不要設定,直接使用預設值。否則日誌檔案永不翻轉,單一檔案過大無任何意義,還會給分析使用帶來極大不便。
pattern:屬性值由字串常量和pattern識別符號加上字首"%"組合而成。pattern識別符號加上字首"%",用來代替當前請求/響應中的對應的變數值。目前支援如下的pattern:
- %a - 遠端IP地址
- %A - 本地IP地址
- %b - 傳送的位元組數,不包括HTTP頭,如果為零即沒有傳送位元組,使用"-"
- %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 - 處理請求的時間,以秒為單位
combined - %h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"
另外,還可以將request請求的查詢引數、session會話變數值、cookie值或HTTP請求/響應頭內容的變數值等內容寫入到日誌檔案。
它仿照了apache的語法:
%{XXX}i xxx代表傳入的頭(HTTP Request) %{XXX}o xxx代表傳出的響應頭(Http Resonse)
%{XXX}c xxx代表特定的Cookie名
%{XXX}r xxx代表ServletRequest屬性名 %{XXX}s xxx代表HttpSession中的屬性名
所以pattern可以寫成:
pattern="%{X-Forwarded-For-Pound}i %l %u %t "%r" %s %b %T"%{HTTP_X_UP_CALLING_LINE_ID}i" "%{x-up-calling-line-id}i""%{User-Agent}i""
或者直接使用最簡單的:
pattern="common"
注意:每次更改請重啟tomcat伺服器
我們可以參看一條例項進行具體分析:
pattern="common"
或者pattern="%h %l %u %t "%r" %s %b"
上文已經提到以上兩種配置含義相同,當pattern如此設定時實際的一條訪問記錄如下(此後均為轉載):
相關推薦
apache&tomcat access訪問日誌
apache日誌一般有兩種:訪問日誌和錯誤日誌 錯誤日誌一般分位emerg、alert、crit、error、warn、notice、info、debug,緊急程度依次降低。一般工程出問題了都會選擇通過檢視錯誤日誌分析原因。 本次主要探討訪問日誌。。 如果你使用的是純A
python統計apache、nginx訪問日誌IP訪問次數並且排序(顯示前20條)
als apache orm item lambda roo oot ipaddr str 前言:python統計apache、nginx訪問日誌IP訪問次數並且排序(顯示前20條)。其實用awk+sort等命令可以實現,用awk數組也可以實現,這裏只是用python嘗試下
tomcat-Dockerfile:可配置tomcat的訪問日誌
1.需求 tomcat的容器啟動時,可以通過引數命令來決定容器中tomcat的server.xml的訪問日誌是否開啟。 2.tomcat-Dockerfile FROM openjdk:8-jre ENV CATALINA_HOME
apache tomcat 預設訪問專案(直接輸入IP就能訪問專案)
轉自;http://blog.csdn.net/haolyj98/article/details/21937191 不知道願作者是誰 最近遇到一個問題,客戶那邊只能通過敲擊IP來訪問專案,不能輸入埠號和專案名稱。
配置Tomcat的訪問日誌格式化輸出
在tomcat的server.xml檔案中,host主機配置區域找到類似如下(紅色部分)即為訪問日誌的配置: <Host name="localhost" appBase="webapps" unpackWARs="true" autoDe
Tomcat的訪問日誌-localhost_access_log和記錄Post請求引數
tomcat的日誌分類 http://blog.csdn.net/fly910905/article/details/78463909 tomcat產生的訪問日誌
tomcat訪問(access)日誌配置和記錄Post請求引數
一、配置與說明 tomcat訪問日誌格式配置,在config/server.xml裡Host標籤下加上 1 2 3 <Valve className="org.apache.catalina.valves.AccessLogValve" dire
apache訪問日誌access.log的解析以及如何將其匯入mysql
mysql> select * from apache_log limit 3; +----+-----------------+---------+--------------+-----------------------+-----------+--------+-----------------
Apache伺服器訪問日誌access.log中各項資料的具體解釋
一、訪問日誌資訊 當瀏覽器請求伺服器時,如果在伺服器上設定了訪問日誌,就會記錄下使用者的訪問記錄。 例如我訪問本地apache所產生的一條預設的日誌: 127.0.0.1 - - [03/Feb/2015:23:14:24 +0800] "GET / HTTP/1.1" 200 2 分為7個部分
出現錯誤日誌:The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path
div 錯誤日誌 a.out library logs openss product arc nec tomcat6出現錯誤日誌: 信息: The APR based Apache Tomcat Native library which allows optimal pe
apache訪問日誌 logstash 配置文件實例1
windows 配置文件 cookie chrome 日誌格式: LogFormat "%{clientip}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{clientip}i.%{cookie}n\""
LAMP-Apache訪問日誌
日誌文件 訪問日誌,記錄了網站訪問者的信息。在一些特殊情況,我們可以通過訪問日誌提取出我們需要的信息。如:網站受攻擊時發起源、統計訪問用戶大數據分布等。一、網站訪問日誌1、訪問日誌配置[[email protected]/* */ ~]# vi /usr/local/apache2.4/co
11.18 Apache用戶認證 - 11.19/11.20 域名跳轉 - 11.21 Apache訪問日誌
11.18 apache用戶認證 - 11.19/11.20 域名跳轉 - 11.21 apache訪問日誌- 11.18 Apache用戶認證 - 11.19/11.20 域名跳轉 - 11.21 Apache訪問日誌 - 擴展 - apache虛擬主機開啟php的短標簽 http://ask.apele
tomcat訪問日誌詳解
tomcat訪問日誌詳解tomcat日誌 tomcat日誌配置在server.xml裏的<host>標簽下加上<Valve className="org.apache.catalina.valves.AccessLogValve"directory="logs" prefix="localh
Apache用戶認證、域名跳轉、Apache訪問日誌
lamp架構Apache用戶認證1、編輯文件[root@centos7 ~]# vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf#打開網頁時,讓你輸入Apache認證的用戶名,密碼<VirtualHost *:80> DocumentR
LAMP架構(apache用戶認證,域名重定向,apache訪問日誌)
apache用戶認證 域名重定向 apache訪問日誌 一、apache用戶認證用戶認證就是打開一個網站。會讓你輸入用戶名和密碼。對了才會讓你訪問HTTP,vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf編輯內容如下<Director
LAMP架構(apache訪問日誌不記錄靜態文件,靜態元素過期時間,apache日誌切割)
訪問日誌不記錄靜態文件 靜態文件過期 apache日誌切割 一、apache訪問日誌不訪問靜態文件瀏覽器打開後按f12會會出現一個界面,點network,會出現很多請求,訪問日誌裏會記載,有些靜態的圖片或者文件也會記載,太浪費磁盤空間和磁盤io。所以我們要讓日誌不記錄靜態文件[root@abc ~
apache訪問日誌管理
apache訪問日誌管理1.訪問日誌在之前的虛擬主機配置文件中,有兩行日誌相關的配置,末尾的combined是日誌的格式類型 ErrorLog "logs/111.com-error_log" CustomLog "logs/111.com-access_log" c
Apache的用戶認證、域名跳轉、Apache的訪問日誌
Linux 學習筆記 Apache的用戶認證 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //把111.com那個虛擬主機編輯成如下內容 <VirtualHost *:80>DocumentRoot "/data/w
Apache(httpd)配置--用戶認證,域名跳轉和訪問日誌配置
用戶認證 域名跳轉 訪問日誌 一、用戶認證 用戶認證功能就是在用戶訪問網站的時候,需要輸入用戶名密碼才能進行訪問。一些比較好總要的站點和網站後臺都會加上用戶認證,以保證安全。實例:下面對zlinux.com站點來做一個全站的用戶認證: 步驟1:編輯虛擬主機配置文件 [root@zlinux ~]#