HTTP access logging
We can configure access log settings for HTTP endpoints.
Parent topic: Monitoring the Liberty profile
HTTP access log settings
An HTTP access log contains a record of all inbound client requests handled by HTTP endpoints. We can enable access logging in the HTTP server, or we can enable it in the Liberty profile server in two modes: one log common to multiple endpoints, or one log for each endpoint.
If we do not specify attributes, the defaults are used. To see a list of the default attributes, see httpAccessLogging in the list of liberty configuration elements: Configuration elements in server.xml.
- Use a common log
To enable logging for multiple endpoints using common settings, include httpAccessLogging as a top-level element in server.xml, and then reference it from multiple httpEndpoint elements:
<httpAccessLogging id="accessLogging"/> <httpEndpoint id="defaulHttpEndpoint" accessLoggingRef="accessLogging"/> <httpEndpoint id="otherHttpEndpoint" accessLoggingRef="accessLogging" httpPort="9081" httpsPort="9444"/>- Use distinct logs for each endpoint
To enable logging for individual endpoints, use an accessLogging child element and specify a file path that does not conflict with other logs:
<httpEndpoint id="defaultHttpEndpoint"> <accessLogging filepath="${server.output.dir}/logs/http_defaultEndpoint_access.log"/> </httpEndpoint>- Use logs for the HTTP server
For a list of the available HTTP server side properties and their descriptions, see Apache Module mod_log_config.
HTTP access log format
For a list of the available log format properties and their descriptions, see the accessLogFormat configuration for the full This log format string is specified using the logFormat attribute of httpAcccessLogging or accessLogging elements in server.xml:
<httpAccessLogging logFormat="%h %u %{t}W "%r" %s %b"/>
or
<httpEndpoint id="defaultHttpEndpoint"> <accessLogging filepath="${server.output.dir}/logs/http_defaultEndpoint_access.log" logFormat="%h %i %u %t "%r" %s %b" /> </httpEndpoint>