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,
));