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

# Class LogPlugin

Plugin class that will add request and response logging to an HTTP request.

The log plugin uses a message formatter that allows custom messages via template variable substitution.

  Guzzle\Plugin\Log\LogPlugin implements Symfony\Component\EventDispatcher\EventSubscriberInterface

Namespace: Guzzle\Plugin\Log
See: MessageLogger for a list of available log template variable substitutions
Located at Guzzle/Plugin/Log/LogPlugin.php

## Methods summary

- `public` `__construct ( Guzzle\Log\LogAdapterInterface $logAdapter, string|MessageFormatter $formatter = null, bool $wireBodies = false )`
- `public static` `getDebugPlugin ( bool $wireBodies = true, resource $stream = null )`

  Get a log plugin that outputs full request, response, and curl error information to stderr

- `public static` `getSubscribedEvents ( )`
- `public` `onCurlRead ( Guzzle\Common\Event $event )`

  Event triggered when curl data is read from a request

- `public` `onCurlWrite ( Guzzle\Common\Event $event )`

  Event triggered when curl data is written to a response

- `public` `onRequestBeforeSend ( Guzzle\Common\Event $event )`

  Called before a request is sent

- `public` `onRequestSent ( Guzzle\Common\Event $event )`

  Triggers the actual log write when a request completes

## Methods detail

# `public`
`__construct( `Guzzle\Log\LogAdapterInterface` $logAdapter, string|`Guzzle\Log\MessageFormatter` $formatter = null, boolean $wireBodies = false )`

#### Parameters

$logAdapter
  ``Guzzle\Log\LogAdapterInterface``
  $logAdapter Adapter object used to log message
$formatter
  `string|`Guzzle\Log\MessageFormatter``
  $formatter Formatter used to format log messages or the formatter template
$wireBodies
  `boolean`
  $wireBodies Set to true to track request and response bodies using a temporary buffer if the bodies are not repeatable.

# `public static `Guzzle\Plugin\Log\LogPlugin``
`getDebugPlugin( boolean $wireBodies = true, resource $stream = null )`

Get a log plugin that outputs full request, response, and curl error information to stderr

#### Parameters

$wireBodies
  `boolean`
  $wireBodies Set to false to disable request/response body output when they use are not repeatable
$stream
  `resource`
  $stream Stream to write to when logging. Defaults to STDERR when it is available

#### Returns

``Guzzle\Plugin\Log\LogPlugin``
# `public static`
`getSubscribedEvents( )`
# `public`
`onCurlRead( `Guzzle\Common\Event` $event )`

Event triggered when curl data is read from a request

#### Parameters

$event
  ``Guzzle\Common\Event``
  $event

# `public`
`onCurlWrite( `Guzzle\Common\Event` $event )`

Event triggered when curl data is written to a response

#### Parameters

$event
  ``Guzzle\Common\Event``
  $event

# `public`
`onRequestBeforeSend( `Guzzle\Common\Event` $event )`

Called before a request is sent

#### Parameters

$event
  ``Guzzle\Common\Event``
  $event

# `public`
`onRequestSent( `Guzzle\Common\Event` $event )`

Triggers the actual log write when a request completes

#### Parameters

$event
  ``Guzzle\Common\Event``
  $event

### Magic methods summary

## Properties summary

`protected `Guzzle\Log\LogAdapterInterface`` | $logAdapter | # Adapter responsible for writing log data
`protected `Guzzle\Log\MessageFormatter`` | $formatter | # Formatter used to format messages before logging
`protected boolean` | $wireBodies | # Whether or not to wire request and response bodies