Skip to content

Latest commit

 

History

History
147 lines (73 loc) · 3.03 KB

MessageFormatter.md

File metadata and controls

147 lines (73 loc) · 3.03 KB

MessageFormatter

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

Constants

Constant Visibility Type Value
CLF public string "{hostname} {req_header_User-Agent} - [{date_common_log}] "{method} {target} HTTP/{version}" {code} {res_header_Content-Length}"
DEBUG public ">>>>>>>>\n{request}\n<<<<<<<<\n{response}\n--------\n{error}"
SHORT public '[{ts}] "{method} {target} HTTP/{version}" {code}'

Properties

template

private string $template

Methods

__construct

public __construct(string $template = self::CLF): mixed

Parameters:

Parameter Type Description
$template string Log message template

format

Returns a formatted message string.

public format(\Psr\Http\Message\RequestInterface $request, \Psr\Http\Message\ResponseInterface|null $response = null, \Throwable|null $error = null): string

Parameters:

Parameter Type Description
$request \Psr\Http\Message\RequestInterface Request that was sent
$response \Psr\Http\Message\ResponseInterface|null Response that was received
$error \Throwable|null Exception that was received

headers

Get headers from message as string

private headers(\Psr\Http\Message\MessageInterface $message): string

Parameters:

Parameter Type Description
$message \Psr\Http\Message\MessageInterface