這篇文章說明apache配置檔案中訪問日誌配置的說明
問題牽引:
通過在windows平台下安裝phpstudy發現,apache預設只是開啟了error.log,沒有開啟access.log,出於好奇心,開始研究一下apache的配置資訊。
先記錄一下自己的需要的東西:
開啟access.log
首先開啟apache安裝目錄下的conf/httpd.conf配置檔案
找到: customlog "logs/access.log" common
這個是儲存的日誌目錄,一般是在apache安裝目錄下的logs目錄下,後面的access.log就是儲存的日誌名,根據自己的需求修改.
在logformat中涉及的知識:
在apache的配置檔案httpd.conf中,有一行是這麼配置的:
customlog "logs/access.log" common
指定了日誌的目錄路徑./logs/,指定了日誌的格式,預設common。
common格式是通過:logformat "%h %l %u %t \"%r\" %>s %b" common定義的。雙引號裡面的格式字串代表特定的資訊。
apache格式字串及其含義:
%% 百分號(apache2.0.44或更高的版本)
%a 遠端ip位址
%a 本機ip位址
%b 除http頭以外傳送的位元組數
%b 以clf格式顯示的除http頭以外傳送的位元組數,也就是當沒有位元組傳送時顯示'-'而不是0。
%c 在請求中傳送給服務端的cookiefoobar的內容。
%d 伺服器處理本請求所用時間,以微為單位。
%e 環境變數foobar的值
%f 檔名
%h 遠端主機
%h 請求使用的協議
%i 傳送到伺服器的請求頭foobar:的內容。
%l 遠端登入名(由identd而來,如果支援的話),除非identitycheck設為"on",否則將得到乙個"-"。
%m 請求的方法
%n 來自另乙個模組的註解foobar的內容。
%o 應答頭foobar:的內容。
%p 伺服器服務於該請求的標準埠。
%p 為本請求提供服務的子程序的pid。
%p 服務於該請求的pid或tid(執行緒id),format的取值範圍為:pid和tid(2.0.46及以後版本)以及hextid(需要apr1.2.0及以上版本)
%q 查詢字串(若存在則由乙個"?"引導,否則返回空串)
%r 請求的第一行
%s 狀態。對於內部重定向的請求,這個狀態指的是原始請求的狀態,---%>s則指的是最後請求的狀態。
%t 時間,用普通日誌時間格式(標準英語格式)
%t 時間,用strftime(3)指定的格式表示的時間。(預設情況下按本地化格式)
%t 處理完請求所花時間,以秒為單位。
%u 遠端使用者名稱(根據驗證資訊而來;如果返回status(%s)為401,可能是假的)
%u 請求的url路徑,不包含查詢字串。
%v 對該請求提供服務的標準servername。
%v 根據usecanonicalname指令設定的伺服器名稱。
【補充】"<"和">"修飾符可以用來指定對於已被內部重定向的請求是選擇原始的請求還是選擇最終的請求。預設情況下,%s, %u, %t, %d, %r 使用原始請求,而所有其他格式串則選擇最終請求。例如,%>s可以用於記錄請求的最終狀態,而 %s %b \"%i\" \"%i\" " combine
定義了combine格式 其中\"%i\" \"%i\" 是傳送到伺服器的求情頭和referer鏈結。
APACHE日誌檔案配置
apache 預設配置日誌檔案會不斷變大,我們要更改配置使其每天產生乙個日誌檔案 customlog bin rotatelogs logs y m d.access.log 86400 480 common 整合tomcat後mod jk.log也有此問題 jklogfile bin rotate...
Apache 日誌的配置
對於大訪問量的 日誌不可能只記錄在乙個檔案裡面,1萬日誌大概就有50m,還有乙個可能就是你要跟蹤使用者的行為,可能需要一些額外的資訊,怎麼把這些東西記錄到apache日誌裡面。apache提供了很出色的日誌配置方式,具體的配置可以參考 我這裡只是簡單的舉一些例子。1。問題一 實現按照小時記錄日誌 a...
apache 配置成滾動日誌
apache預設的日誌只是1個檔案,隨著訪問量的加大,該日誌檔案會越來越大,借助apache的rotatelogs.exe自動生成滾動日誌。下面配置配置成每24小時產生1個新的日誌檔案 先搭建1個很簡單 進行訪問 documentroot e apachetestweb allowoverride ...