IHS日志格式配置淺析.doc
IHS日志格式配置淺析
IHS中的access日志信息主要由Apache模塊 mod_log_config來控制,他提供了三個指令來控制最終寫成的日志信息。
TransferLog用來指定日志文件,LogFormat用來定義日志格式,CustomLog可以同時完成指定日志文件和定義日志格式。
而其中LogFormat和CustomLog則是通過固定的字符串來替代請求的信息:
特殊字符 意義
%% 百分號(Apache
%a 遠端IP地址
%A 本機IP地址
%B 除HTTP頭以外傳送的字節數
%b 以CLF格式顯示的除HTTP頭以外傳送的字節數,也就是當沒有字節傳送時顯示'-'而不是0。
%{Foobar}C 在請求中傳送給服務端的cookieFoobar的內容。
%D 服務器處理本請求所用時間,以微為單位。
%{FOOBAR}e 環境變量FOOBAR的值
%f 文件名
%h 遠端主機
%H 請求使用的協議
%{Foobar}i 發送到服務器的請求頭Foobar:的內容。
%l 遠端登錄名(由identd而來,如果支持的話),除非IdentityCheck設為"On",否則將得到一個"-"。
%m 請求的方法
%{Foobar}n 來自另一個模塊的注解Foobar的內容。
%{Foobar}o 應答頭Foobar:的內容。
%p 服務器服務于該請求的標準端口。
%P 為本請求提供服務的子進程的PID。
%{format}P 服務于該請求的PID或TID(線程ID),format的取值范圍為:pid和tid(
%q 查詢字符串(若存在則由一個"?"引導,否則返回空串)
%r 請求的第一行
%s 狀態。對于內部重定向的請求,這個狀態指的是原始請求的狀態,---%>s則指的是最后請求的狀態。
%t 時間,用普通日志時間格式(標準英語格式)
%{format}t 時間,用strftime(3)指定的格式表示的時間。(默認情況下按本地化格式)
%T 處理完請求所花時間,以秒為單位。
%u 遠程用戶名(根據驗證信息而來;如果返回status(%s)為401,可能是假的)
%U 請求的URL路徑,不包含查詢字符串。
%v 對該請求提供服務的標準ServerName。
%V 根據UseCanonicalName指令設定的服務器名稱。
%X "請求完成時的連接狀態:X= 連接在應答完成前中斷。
+= 應答傳送完后繼續保持連接。
-= 應答傳送完后關閉連接。
%I 接收的字節數,包括請求頭的數據,并且不能為零。要使用這個指令你必須啟用mod_logio模塊。
%O 發送的字節數,包括請求頭的數據,并且不能為零。要使用這個指令你必須啟用mod_logio模塊。
參考文檔:http://httpd.apache.org/docs/2.0/mod/mod_log_config.html#logformat