<업무 복습>
Apache Module mod_log_config
Summary
This module provides for flexible logging of client requests. Logs are written in a customizable format, and may be written directly to a file, or to an external program. Conditional logging is provided so that individual requests may be included or excluded from the logs based on characteristics of the request.
Three directives are provided by this module: TransferLog
to create a log file, LogFormat
to set a custom format, and CustomLog
to define a log file and format in one step. The TransferLog
and CustomLog
directives can be used multiple times in each server to cause each request to be logged to multiple files.
Custom Log Formats
The format argument to the LogFormat
and CustomLog
directives is a string. This string is used to log each request to the log file. It can contain literal characters copied into the log files and the C-style control characters "\n" and "\t" to represent new-lines and tabs. Literal quotes and backslashes should be escaped with backslashes.
The characteristics of the request itself are logged by placing "%
" directives in the format string, which are replaced in the log file by the values as follows:
Format String | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
%% | The percent sign. | ||||||||||
%a | Client IP address of the request (see the mod_remoteip module). | ||||||||||
%{c}a | Underlying peer IP address of the connection (see the mod_remoteip module). | ||||||||||
%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. | ||||||||||
%{VARNAME}C | The contents of cookie VARNAME in the request sent to the server. Only version 0 cookies are fully supported. | ||||||||||
%D | The time taken to serve the request, in microseconds. | ||||||||||
%{VARNAME}e | The contents of the environment variable VARNAME. | ||||||||||
%f | Filename. | ||||||||||
%h | Remote hostname. Will log the IP address if HostnameLookups is set to Off , which is the default. If it logs the hostname for only a few hosts, you probably have access control directives mentioning them by name. See the Require host documentation. | ||||||||||
%H | The request protocol. | ||||||||||
%{VARNAME}i | The contents of VARNAME: header line(s) in the request sent to the server. Changes made by other modules (e.g. mod_headers ) affect this. If you're interested in what the request header was prior to when most modules would have modified it, use mod_setenvif to copy the header into an internal environment variable and log that value with the %{VARNAME}e described above. | ||||||||||
%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 . | ||||||||||
%L | The request log ID from the error log (or '-' if nothing has been logged to the error log for this request). Look for the matching error log line to see what request caused what error. | ||||||||||
%m | The request method. | ||||||||||
%{VARNAME}n | The contents of note VARNAME from another module. | ||||||||||
%{VARNAME}o | The contents of VARNAME: 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. | ||||||||||
%R | The handler generating the response (if any). | ||||||||||
%s | Status. For requests that have been internally redirected, this is the status of the original request. Use %>s for the final status. | ||||||||||
%t | Time the request was received, in the format [18/Sep/2011:19:18:28 -0400] . The last number indicates the timezone offset from GMT | ||||||||||
%{format}t | The time, in the form given by format, which should be in an extended strftime(3) format (potentially localized). If the format starts with begin: (default) the time is taken at the beginning of the request processing. If it starts with end: it is the time when the log entry gets written, close to the end of the request processing. In addition to the formats supported by strftime(3) , the following format tokens are supported:
strftime(3) formatting in the same format string. You can use multiple %{format}t tokens instead. | ||||||||||
%T | The time taken to serve the request, in seconds. | ||||||||||
%{UNIT}T | The time taken to serve the request, in a time unit given by UNIT . Valid units are ms for milliseconds, us for microseconds, and s for seconds. Using s gives the same result as %T without any format; using us gives the same result as %D . Combining %T with a unit is available in 2.4.13 and later. | ||||||||||
%u | Remote user if the request was authenticated. May be bogus if return status (%s ) is 401 (unauthorized). | ||||||||||
%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:
| ||||||||||
%I | Bytes received, including request and headers. Cannot be zero. You need to enable mod_logio to use this. | ||||||||||
%O | Bytes sent, including headers. May be zero in rare cases such as when a request is aborted before a response is sent. You need to enable mod_logio to use this. | ||||||||||
%S | Bytes transferred (received and sent), including request and headers, cannot be zero. This is the combination of %I and %O. You need to enable mod_logio to use this. | ||||||||||
%{VARNAME}^ti | The contents of VARNAME: trailer line(s) in the request sent to the server. | ||||||||||
%{VARNAME}^to | The contents of VARNAME: trailer line(s) in the response sent from the server. |
Modifiers
LogFormat Directive
Description: | Describes a format for use in a log file |
---|---|
Syntax: | LogFormat format|nickname [nickname] |
Default: | LogFormat "%h %l %u %t \"%r\" %>s %b" |
Context: | server config, virtual host |
Status: | Base |
Module: | mod_log_config |
원본 :
https://httpd.apache.org/docs/current/en/mod/mod_log_config.html#customlog
'Server > Apache' 카테고리의 다른 글
[Apache-Tomcat] Tomcat Context.xml 구조 이해(스크랩) (0) | 2018.12.26 |
---|---|
[Apache-Jmeter] 서비스 성능테스트(스크랩) (0) | 2018.10.14 |
[Apache] Apache config 내의 ScriptAlias 지시어란? (0) | 2018.10.08 |
[Apache] VirtualHost 설정 (0) | 2018.10.07 |
[Apache] Apache Http Header customizing(mod_headers) (0) | 2018.10.07 |