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-bundleOpen 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-bundleThis 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: trueThe 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_idAdd the session id in each log entry.
hexanet_monolog_extra:
processor:
session_id: trueYou 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_idAdd an unique identifier for the request in each log entry.
hexanet_monolog_extra:
processor:
uid: trueThe 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_idAdd 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.

