Apache 日志格式

2021-10-13 18:20 更新

Apache日志提供有助于檢測(cè)服務(wù)器常見(jiàn)問(wèn)題的詳細(xì)信息。要記錄網(wǎng)站的訪問(wèn)日志,必須啟用mod_log_configmodule。

apache配置文件中有三個(gè)指令,即 -

  • TransferLog:創(chuàng)建日志文件。
  • LogFormat:指定自定義格式。
  • CustomLog:創(chuàng)建和格式化日志文件。

TransferLog指令在apache配置文件中可用,它根據(jù)設(shè)置參數(shù)輪轉(zhuǎn)虛擬主機(jī)日志文件。

<VirtualHost www.example.com>

  ServerAdmin webmaster@yiibai.com
  DocumentRoot /usr/www/example/httpd/htdocs/
  ServerName www.example.com
  ServerAlias example.com www.example
  ErrorLog /usr/www/example/httpd/logs/error_log
  TransferLog /usr/www/example/httpd/logs/accesslog
  CustomLog /usr/www/example/httpd/logs/accesslog combined

</VirtualHost>
Shell

兩種類型的Apache日志格式

  • 通用日志格式
  • 組合日志格式

可以通過(guò)編輯apache配置文件來(lái)啟用它們,即apache2.conf(Debian/ubuntu)或httpd.conf(基于rpm的系統(tǒng))文件。

通用日志格式

LogFormat "%h %l %u %t \"%r\" %>s %b" common

CustomLog logs/access_log.log common
Shell

Apache生成的通用日志內(nèi)容示例如下 -

[Wed Oct 11 14:32:52 2000] [error] [client 127.0.0.1] client denied by server configuration: /export/home/live/ap/htdocs/test
Shell

組合日志格式

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined

CustomLog log/access_log.log combined
Shell

在上面格式中,

  • %h是遠(yuǎn)程主機(jī)
  • %l是由identd確定的用戶的身份
  • %u是HTTP身份驗(yàn)證確定的用戶名
  • %t是服務(wù)器處理完請(qǐng)求的時(shí)間。
  • %r是來(lái)自客戶端的請(qǐng)求行(“GET/HTTP/1.0”)。
  • %> s是從服務(wù)器發(fā)送到客戶端的狀態(tài)代碼(500,404等)
  • %b是客戶端響應(yīng)的大小(以字節(jié)為單位)
  • Referer是鏈接到此URL的頁(yè)面。

用戶代理是瀏覽器標(biāo)識(shí)字符串。

Apache生成的組合日志:

199.180.11.91 - - [06/Mar/2019:04:22:58 +0100] "GET /robots.txt HTTP/1.1" 404 1228 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)"
Shell

自定義日志為服務(wù)器上的每個(gè)虛擬主機(jī)創(chuàng)建單獨(dú)的日志文件。它需要在配置文件的虛擬主機(jī)部分中指定。

可以看到下面提到的虛擬主機(jī)配置,生成的日志將為該虛擬主機(jī)自定義,并且將組合格式。




以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)