說明 | 設(shè)定日志的文件名和格式 |
---|---|
語法 | CustomLog file|pipe format|nickname [env=[!]environment-variable] |
作用域 | server config, virtual host |
狀態(tài) | 基本(B) |
模塊 | mod_log_config |
CustomLog
指令用來對服務(wù)器的請求進(jìn)行日志記錄??梢灾付ㄈ罩镜母袷?,也可以使用環(huán)境變量根據(jù)請求的特征來自由地組織日志。
第一個參數(shù)指定了日志記錄的位置,可以使用以下兩種方式來設(shè)定:
當(dāng)在非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è)置來決定是否對某一特定的請求進(jìn)行日志記錄。如果這個特定的 可以使用 或者為了復(fù)制舊有的RefererIgnore指令的行為,你可以使用下面的指令: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-imageSetEnvIf Referer example\.com localreferer
CustomLog referer.log referer env=!localreferer