For buzz<0.16
please use nixilla/api-logger-bundle:^0.4
and for latest buzz:^1
, use nixilla/api-logger-bundle:^0.5.1
Step 1: composer
composer require nixilla/api-logger-bundle
Step 2: enable bundle by adding it to AppKernel
<?php
// app/AppKernel.php
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
// your other dev bundles here
$bundles[] = new Nixilla\Api\LoggerBundle\NixillaApiLoggerBundle();
}
Step 3: configuration
For latest buzz all you need to do is add this line into config/packages/buzz.yml
services:
Buzz\Browser:
arguments: ['@Buzz\Client\BuzzClientInterface', '@Psr\Http\Message\RequestFactoryInterface']
calls:
# other middleware classes here
- ['addMiddleware', ['@Nixilla\Api\LoggerBundle\Middleware\ApiLoggerMiddleware']]
For earlier version of buzz <0.16 and earlier version of this bundle <0.5 you need to configure like this:
If you're use HWIOAuthBundle and you want to monitor all OAuth API calls, you can now override default
hwi_oauth.http_client
service used by this bundle by adding this few lines to your config_dev.yml
file
# app/config/config_dev.yml
imports:
- { resource: config.yml }
parameters:
buzz.client.class: Nixilla\Api\LoggerBundle\Proxy\Buzz\Client\Curl
services:
hwi_oauth.http_client:
class: "%buzz.client.class%"
calls:
- [ "setLogger", [ "@nixilla.api.logger" ] ]
If you're using sensio/buzz-bundle
, you may want to override the buzz.client
in config_dev.yml
# app/config/config_dev.yml
imports:
- { resource: config.yml }
parameters:
buzz.client.class: Nixilla\Api\LoggerBundle\Proxy\Buzz\Client\Curl
services:
buzz.client:
class: "%buzz.client.class%"
calls:
- [ "setTimeout", [ "%buzz.client.timeout%" ] ]
- [ "setLogger", [ "@nixilla.api.logger" ] ]
If you're using twilio/sdk
you may want to override their Http Client in config_dev.yml
# app/config/config_dev.yml
imports:
- { resource: config.yml }
services:
twilio.http.client:
class: Nixilla\Api\LoggerBundle\Proxy\Twilio\CurlClient
calls:
- [ "setLogger", [ "@nixilla.api.logger" ] ]
twilio.rest.client:
class: Twilio\Rest\Client
arguments: [ "%twilio.username%", "%twilio.password%", ~, ~, '@twilio.http.client']