URL : http://httpd.apache.org/docs/2.2/mod/mod_log_config.html#formats
我的 sample code :
ServerName test.monster.tw DocumentRoot "/m2/test" LogFormat "%{%Y-%m-%d}t , %{%H:%M:%S}t , %D , %a , \"%q\" , \"%{Referer}i\" , \"%{User-agent}i\"" MONSTER_format CustomLog "/m2/log/test.monster.tw/access.log" MONSTER_format
MTS 的 http config
SetEnvIf Request_URI /dot.gif MTS_icon LogFormat "%{%Y-%m-%d}t , %{%H:%M:%S}t , %a , \"%q\" , \"%{Referer}i\" , \"%{User-agent}i\"" MTS_format CustomLog "| /usr/sbin/cronolog /var/www/ts.monster.com.tw/log/access-%Y%m%d%H.log" MTS_format env=MTS_icon
apache default 的 combined format
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined CustomLog log/acces_log combined
以下是 apache 的資料
Format String | Description | ||||||
---|---|---|---|---|---|---|---|
%% |
The percent sign | ||||||
%a |
Remote IP-address | ||||||
%A |
Local IP-address | ||||||
%B |
Size of response in bytes, excluding HTTP headers. | ||||||
%b |
Size of response in bytes, excluding HTTP headers. In CLF format, i.e. a ‘- ‘ rather than a 0 when no bytes are sent. |
||||||
%{Foobar}C |
The contents of cookie Foobar in the request sent to the server. | ||||||
%D |
The time taken to serve the request, in microseconds. | ||||||
%{FOOBAR}e |
The contents of the environment variable FOOBAR | ||||||
%f |
Filename | ||||||
%h |
Remote host | ||||||
%H |
The request protocol | ||||||
%{Foobar}i |
The contents of Foobar: header line(s) in the request sent to the server. Changes made by other modules (e.g. mod_headers ) affect this. |
||||||
%k |
Number of keepalive requests handled on this connection. Interesting if KeepAlive is being used, so that, for example, a ‘1’ means the first keepalive request after the initial one, ‘2’ the second, etc…; otherwise this is always 0 (indicating the initial request). |
||||||
%l |
Remote logname (from identd, if supplied). This will return a dash unless mod_ident is present and IdentityCheck is set On . |
||||||
%m |
The request method | ||||||
%{Foobar}n |
The contents of note Foobar from another module. | ||||||
%{Foobar}o |
The contents of Foobar: header line(s) in the reply. |
||||||
%p |
The canonical port of the server serving the request | ||||||
%{format}p |
The canonical port of the server serving the request or the server’s actual port or the client’s actual port. Valid formats are canonical , local , or remote . |
||||||
%P |
The process ID of the child that serviced the request. | ||||||
%{format}P |
The process ID or thread id of the child that serviced the request. Valid formats are pid , tid , and hextid . hextid requires APR 1.2.0 or higher. |
||||||
%q |
The query string (prepended with a ? if a query string exists, otherwise an empty string) |
||||||
%r |
First line of request | ||||||
%s |
Status. For requests that got internally redirected, this is the status of the *original* request — %>s for the last. |
||||||
%t |
Time the request was received (standard english format) | ||||||
%{format}t |
The time, in the form given by format, which should be in strftime(3) format. (potentially localized) |
||||||
%T |
The time taken to serve the request, in seconds. | ||||||
%u |
Remote user (from auth; may be bogus if return status (%s ) is 401) |
||||||
%U |
The URL path requested, not including any query string. | ||||||
%v |
The canonical ServerName of the server serving the request. |
||||||
%V |
The server name according to the UseCanonicalName setting. |
||||||
%X |
Connection status when response is completed:
(This directive was |
||||||
%I |
Bytes received, including request and headers, cannot be zero. You need to enable mod_logio to use this. |
||||||
%O |
Bytes sent, including headers, cannot be zero. You need to enable mod_logio to use this. |
防止盜圖的 code
SetEnvIf Referer "^http://www.example.com/" local_referal # Allow browsers that do not send Referer info SetEnvIf Referer "^$" local_referal [directory images web] Order Deny,Allow Deny from all Allow from env=local_referal [/directory]
這個更讚! 排除掉 gif / jpg / png / css / swf … 等等不要log的檔案
SetEnvIf Request_URI \.gif misc-request SetEnvIf Request_URI \.jpg misc-request SetEnvIf Request_URI \.png misc-request SetEnvIf Request_URI \.css misc-request SetEnvIf Request_URI \.swf misc-request CustomLog logs/access_log env=!misc-request
整合一下, 這是 lazy 的 config
ServerName lazy.monster.tw DocumentRoot "/home/webuser/lazy.monster.tw" SetEnvIf Request_URI \.gif misc-request SetEnvIf Request_URI \.jpg misc-request SetEnvIf Request_URI \.png misc-request SetEnvIf Request_URI \.css misc-request SetEnvIf Request_URI \.swf misc-request LogFormat "%{%Y-%m-%d}t , %{%H:%M:%S}t , %a , %u , %D , \"%r\" , \"%{Referer}i\" , \"%{User-agent}i\"" MONSTER_format CustomLog /m2/log/lazy.monster.tw/access.log MONSTER_format env=!misc-request