1. 程式人生 > >linux apache 日誌按天分割

linux apache 日誌按天分割

 修改Apache配置檔案 

ErrorLog "| /usr/local/apache/bin/rotatelogs /web/log/badcatxt.com/%Y_%m_%d_error_log 86400 480"
CustomLog "| /usr/local/apache/bin/rotatelogs /web/log/badcatxt.com/%Y_%m_%d_access_log 86400 480" common

看一條典型的access_log的日誌記錄:
61.155.149.20 - - [13/Jan/2017:15:42:47 +0800] "GET /category/db/ HTTP/1.1" 200 23225

1).61.155.149.20 
這是一個請求到apache伺服器的客戶端ip,預設的情況下,第一項資訊只是遠端主機的ip地址,但我們如果需要apache查出主機的名字,可以將 HostnameLookups設定為on,不推薦使用,會大大降低網站速度。

2). - 
這一項是空白,使用"-"來代替,用於記錄瀏覽者的標識,對於大多數瀏覽器,這項都是空。

3). - 
也為空,記錄瀏覽者進行身份驗證時提供的名字,大多數這項也為空。

4). [13/Jan/2017:15:42:47 +0800]
第四項是記錄請求的時間,格式為[day/month/year:hour:minute:second zone],最後的+0800表示伺服器所處的時區為東八區

5). "GET /category/db/ HTTP/1.1" 
這一項最有用,首先,它告訴我們的伺服器收到的是一個GET請求,其次,是客戶端請求的資源路徑,第三,客戶端使用的協議時HTTP/1.1,整個格式為"%m %U%q %H",即"請求方法/訪問路徑/協議"

6). 200 
這是一個狀態碼,由伺服器端傳送回客戶端,它告訴我們客戶端的請求是否成功,或者是重定向,或者是碰到了什麼樣的錯誤,這項值為200,表示伺服器已經成 功的響應了客戶端的請求,一般來說,這項值以2開頭的表示請求成功,以3開頭的表示重定向,以4開頭的標示客戶端存在某些的錯誤,以5開頭的標示伺服器端
 存在某些錯誤。

7).23225 
這項表示伺服器向客戶端傳送了多少的位元組,在日誌分析統計的時侯,把這些位元組加起來就可以得知伺服器在某點時間內總的傳送資料量是多少

最後,如果嫌這個不夠詳細沒有蜘蛛標識可以修改 common 為 combined