CustomLog "|c:/apache/bin/rotatelogs c:/apache/logs/%Y_%m_%d.access.log 86400 480" common
重啟Apache
http://lamp./Apache/ApacheMenu/mod/mod_log_config.html#customlog:
| 說明 |
設(shè)定日志的文件名和格式 |
| 語法 |
CustomLog file|pipe format|nickname [env=[!]environment-variable] |
| 作用域 |
server config, virtual host |
| 狀態(tài) |
基本(B) |
| 模塊 |
mod_log_config |
CustomLog指令用來對服務(wù)器的請求進行日志記錄??梢灾付ㄈ罩镜母袷剑部梢允褂铆h(huán)境變量根據(jù)請求的特征來自由地組織日志。
第一個參數(shù)指定了日志記錄的位置,可以使用以下兩種方式來設(shè)定:
- file
- 相對于
ServerRoot的日志文件名。 - pipe
- 管道符"
|"后面緊跟著一個把日志輸出當作標準輸入的處理程序路徑。
安全
如果這里用到了程序,那么這個程序是以啟動httpd的用戶來執(zhí)行的。因此如果啟動httpd的用戶是root ,那這個程序也將以root身份來運行;你需要確認這個程序是安全的。
注意
當在非UNIX平臺上輸入文件路徑的時候,要特別注意即使平臺本身是使用反斜杠(\)來分隔路徑的,在這里也只能使用正斜杠(/)。通常在配置文件里只用正斜杠(/)來分隔路徑總是不會錯的。
第二個參數(shù)指定了寫入日志文件的內(nèi)容。它既可以是由前面的LogFormat指令定義的nickname ,也可以是直接按日志格式一節(jié)所描述的規(guī)則定義的format字符串。
例如:以下兩組指令的結(jié)果是完全一樣的:
# 使用nickname
LogFormat "%h %l %u %t \"%r\" %>s %b" common
CustomLog logs/access_log common
# 明確使用格式格式字符串
CustomLog logs/access_log "%h %l %u %t \"%r\" %>s %b"
第三個參數(shù)是可選的,它根據(jù)服務(wù)器上特定的環(huán)境變量是否被設(shè)置來決定是否對某一特定的請求進行日志記錄。如果這個特定的環(huán)境變量被設(shè)置(或者在"env=!name"的情況下未被設(shè)置),那么這個請求將被記錄。
可以使用mod_setenvif和/或mod_rewrite模塊來為每個請求設(shè)置環(huán)境變量。例如:如果你想在服務(wù)器上將所有對GIF圖片的請求記錄在不同于主日志文件的另一個日志文件中,你可以使用下面的指令:
SetEnvIf Request_URI \.gif$ gif-image
CustomLog gif-requests.log common env=gif-image
CustomLog nongif-requests.log common env=!gif-image
或者為了復(fù)制舊有的RefererIgnore指令的行為,你可以使用下面的指令:
SetEnvIf Referer example\.com localreferer
CustomLog referer.log referer env=!localreferer
|