Logging¶
Logger injection¶
As the Rackspace client extends the OpenStack client, they both support passing $options as an array via the constructor’s third parameter. The options are passed as a config to the Guzzle client, but also allow to inject your own logger.
Your logger should implement the Psr\Log\LoggerInterface as defined in PSR-3. One example of a compatible logger is Monolog. When the client does create a service, it will inject the logger if one is available.
To inject a LoggerInterface compatible logger into a new client:
use Monolog\Logger;
use OpenCloud\OpenStack;
// create a log channel
$logger = new Logger('name');
$client = new OpenStack('http://identity.my-openstack.com/v2.0', array(
'username' => 'foo',
'password' => 'bar'
), array(
'logger' => $logger,
));