Copied!

Formats log messages using variable substitutions for requests, responses, and other transactional data.

The following variable substitutions are supported:

  • {request}: Full HTTP request message
  • {response}: Full HTTP response message
  • {ts}: ISO 8601 date in GMT
  • {date_iso_8601} ISO 8601 date in GMT
  • {date_common_log} Apache common log date using the configured timezone.
  • {host}: Host of the request
  • {method}: Method of the request
  • {uri}: URI of the request
  • {version}: Protocol version
  • {target}: Request target of the request (path + query + fragment)
  • {hostname}: Hostname of the machine that sent the request
  • {code}: Status code of the response (if available)
  • {phrase}: Reason phrase of the response (if available)
  • {error}: Any error messages (if available)
  • {req_header_*}: Replace * with the lowercased name of a request header to add to the message
  • {res_header_*}: Replace * with the lowercased name of a response header to add to the message
  • {req_headers}: Request headers
  • {res_headers}: Response headers
  • {req_body}: Request body
  • {res_body}: Response body
  • final
CloneableInstantiable
Constants
public GuzzleHttp\MessageFormatter::CLF = '{hostname} {req_header_User-Agent} - [{date_common_log}] "{method} {target} HTTP/{version}" {code} {res_header_Content-Length}'
 

Apache Common Log Format.

  • see https://httpd.apache.org/docs/2.4/logs.html#common
  • var string
public GuzzleHttp\MessageFormatter::DEBUG = '>>>>>>>> {request} <<<<<<<< {response} -------- {error}'
public GuzzleHttp\MessageFormatter::SHORT = '[{ts}] "{method} {target} HTTP/{version}" {code}'
Methods
public __construct(?string $template = '{hostname} {req_header_User-Agent} - [{date_common_log}] "{method} {target} HTTP/{version}" {code} {res_header_Content-Length}'self::CLF)
 
  • param string $template Log message template
public format(Psr\Http\Message\RequestInterface $request, ?Psr\Http\Message\ResponseInterface $response = NULL, ?Throwable $error = NULL) : string
 

Returns a formatted message string.

  • param \RequestInterface $request Request that was sent
  • param \ResponseInterface|null $response Response that was received
  • param \Throwable|null $error Exception that was received
Properties
private $template = NULL
 
  • var string Template used to format log messages
Methods
private headers(Psr\Http\Message\MessageInterface $message) : string
 

Get headers from message as string

© 2025 Bruce Wells
Search Namespaces \ Classes
Configuration