Symfony bundle with extra processors and logger to log request/response.
Open a command console, enter your project directory and execute:
$ composer require hexanet/monolog-extra-bundle
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
$ composer require hexanet/monolog-extra-bundle
This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.
Then, enable the bundle by adding it to the list of registered bundles
in the app/AppKernel.php
file of your project:
<?php
// app/AppKernel.php
// ...
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
// ...
new Hexanet\Common\MonologExtraBundle\HexanetMonologExtraBundle(),
);
// ...
}
// ...
}
The bundle provides several processors:
- User
- Session ID
- UID
- Additions
The UserProcessor add data about the current user in each log entry.
hexanet_monolog_extra:
processor:
user: true
The default provider returns:
- anonymous when no user is logged
- the username of the current logged user
- cli
You can create your own provider by creating a service that implements Hexanet\Common\MonologExtraBundle\Provider\User\UserProviderInterface.
hexanet_monolog_extra:
provider:
user: your_own_provider_service_id
Add the session id in each log entry.
hexanet_monolog_extra:
processor:
session_id: true
You can create your own provider by creating a service that implements Hexanet\Common\MonologExtraBundle\Provider\Session\SessionIdProviderInterface.
hexanet_monolog_extra:
provider:
session_id: your_own_provider_service_id
Add an unique identifier for the request in each log entry.
hexanet_monolog_extra:
processor:
uid: true
The bundle comes with 2 providers:
- UniqidProvider (default): use
uniqid
- ApacheUniqueIdProvider: get from environment, need mod_unique_id of Apache
You can create your own provider by creating a service that implements Hexanet\Common\MonologExtraBundle\Provider\Uid\UidProviderInterface.
hexanet_monolog_extra:
provider:
uid: your_own_provider_service_id
Add custom data in each log entry.
hexanet_monolog_extra:
processor:
additions:
type: symfony
application: the best symfony application
locale: "%locale%"
environment: "%kernel.environment%"
Create a log entry with the request data.
Create a log entry with the response data.
Create a log entry when an exception occurs in console.
Add the UID of the previous processor in the response headers.
HTTP/1.1 302 Found
X-UID: 57c5f5e842b10
Configuration reference for a reference on the available configuration options.
Developed by Hexanet.
MonologExtraBundle is licensed under the MIT license.