NOTE: For Version 3 of the AWS SDK for PHP, please see the V3 User Guide and V3 API Reference.

# Class MessageFormatter

Message formatter used in various places in the framework

Format messages using a template that can contain the the following variables:

- {request}: Full HTTP request message
- {response}: Full HTTP response message
- {ts}: Timestamp
- {host}: Host of the request
- {method}: Method of the request
- {url}: URL of the request
- {host}: Host of the request
- {protocol}: Request protocol
- {version}: Protocol version
- {resource}: Resource of the request (path + query + fragment)
- {port}: Port of the request
- {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)
- {curl_error}: Curl error message (if available)
- {curl_code}: Curl error code (if available)
- {curl_stderr}: Curl standard error (if available)
- {connect_time}: Time in seconds it took to establish the connection (if available)
- {total_time}: Total transaction time in seconds for last transfer (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_body}: Request body
- {res_body}: Response body

Namespace: Guzzle\Log
Located at Guzzle/Log/MessageFormatter.php

## Methods summary

- `public` `__construct ( string $template = `Guzzle\Log\MessageFormatter::DEFAULT_FORMAT` )`
- `public` `setTemplate ( string $template )`

  Set the template to use for logging

- `public` `format ( Guzzle\Http\Message\RequestInterface $request, Guzzle\Http\Message\Response $response = null, Guzzle\Http\Curl\CurlHandle $handle = null, array $customData = array() )`

  Returns a formatted message

## Methods detail

# `public`
`__construct( string $template = `Guzzle\Log\MessageFormatter::DEFAULT_FORMAT` )`

#### Parameters

$template
  `string`
  $template Log message template

# `public `Guzzle\Log\MessageFormatter``
`setTemplate( string $template )`

Set the template to use for logging

#### Parameters

$template
  `string`
  $template Log message template

#### Returns

``Guzzle\Log\MessageFormatter``
# `public string`
`format( `Guzzle\Http\Message\RequestInterface` $request, `Guzzle\Http\Message\Response` $response = null, `Guzzle\Http\Curl\CurlHandle` $handle = null, array $customData = array() )`

Returns a formatted message

#### Parameters

$request
  ``Guzzle\Http\Message\RequestInterface``
  $request Request that was sent
$response
  ``Guzzle\Http\Message\Response``
  $response Response that was received
$handle
  ``Guzzle\Http\Curl\CurlHandle``
  $handle Curl handle associated with the message
$customData
  `array`
  $customData Associative array of custom template data

#### Returns

`string`

### Magic methods summary

## Constants summary

`string` | `DEFAULT_FORMAT` | `"{hostname} {req_header_User-Agent} - [{ts}] \"{method} {resource} {protocol}/{version}\" {code} {res_header_Content-Length}"` | #
`string` | `DEBUG_FORMAT` | `">>>>>>>>\n{request}\n<<<<<<<<\n{response}\n--------\n{curl_stderr}"` | #
`string` | `SHORT_FORMAT` | `'[{ts}] "{method} {resource} {protocol}/{version}" {code}'` | #

## Properties summary

`protected string` | $template | # Template used to format log messages