APACHE訪問日誌格式 和 LogFormat語法

訪問日誌記錄用戶的每個請求php

打開apache主配置文件

vim /usr/local/apache2.4/conf/httpd.conf
主配置文件裏提供了兩種日誌的模板:common和combined
<IfModule log_config_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
主配置文件裏預設日誌模板是common
CustomLog "logs/access_log" common
能夠在虛擬主機裏面更改日誌模板
<VirtualHost *:80>
    DocumentRoot "/data/wwwroot/aaa.com"
    ServerName aaa.com
    ServerAlias www.aaa.com  www.abc.com
    ErrorLog "logs/aaa.com-error_log"
    CustomLog "logs/aaa.com-access_log" common
</VirtualHost>
//能夠根據需求,把common改爲combined

COMBINED 日誌模板詳解

LogFormat "%h  %l  %u  %t  \"%r\"  %>s  %b  \"%{Referer}i\"  \"%{User-Agent}i\"" combined

它記錄的樣子是這樣的:

59.126.205.242 - - [04/Jan/2009:23:30:57 +0800] "GET /main/images/login/login_05.png HTTP/1.1" 200 1355 "http://exmaple.com/i1.php?fun=login_show" "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5 FirePHP/0.2.1"

說明以下:
1. 59.126.205.242 是客戶端IP
2. 第一個 '-' 是 %l 由於此網頁沒必要認證,因此logname 爲空
3. 第二個 '-' 是 %u 由於此網頁沒必要認證,因此username 爲空
4. [04/Jan/2009:23:30:57 +0800] 是時間
5. "GET /main/images/login/login_05.png HTTP/1.1" 爲客戶端的 request
6. 200  %s 是狀態,%s 是取得最後的狀豐收,數字200表明 OK
7. 1355 排除掉 HTTP的headers後的長度(Bytes)
8. "http://example.com/main/i1.php?fun=login_show" 記錄 referer。也就是導到此request的頁面的呼叫者,這裏能夠當來源分析。
9. "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5 FirePHP/0.2.1" 是客戶端的瀏覽器狀態。
相關文章
相關標籤/搜索