thereddot/monolog-extra-bundle

This package is abandoned and no longer maintained. No replacement package was suggested.

Symfony bundle with extra processors and logger to log request/response

Installs: 40 816

Dependents: 0

Suggesters: 0

Security: 0

Stars: 2

Watchers: 3

Forks: 0

Open Issues: 0

Type:symfony-bundle

v4.2.1 2021-02-19 17:33 UTC

This package is auto-updated.

Last update: 2021-11-19 19:14:06 UTC


README

❗ This package is abandoned and no longer actively maintained.

Total Downloads Latest stable Version

Symfony bundle with extra processors and logger to log request/response/command.

Installation

Applications that use Symfony Flex

Open a command console, enter your project directory and execute:

$ composer require thereddot/monolog-extra-bundle

Applications that don't use Symfony Flex

Step 1: Download the 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 thereddot/monolog-extra-bundle

This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.

Step 2: Enable the Bundle

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 TheRedDot\MonologExtraBundle\TheRedDotMonologExtraBundle(),
        );
        // ...
    }

    // ...
}

Usage

Processors

The bundle provides several processors:

  • User
  • Session id
  • Request id
  • Additions

User

The UserProcessor add data about the current user in each log entry.

the_red_dot_monolog_extra:
    processor:
        user: true

The default provider SymfonyUserProvider returns:

  • anonymous when no user is logged
  • the username of the current logged user
  • cli

You can customize the provider to replace the username by another property:

    TheRedDot\MonologExtraBundle\Provider\User\SymfonyUserProvider:
        arguments:
            $className: App\Entity\User
            $propertyName: myCustomProperty

You can create your own provider by creating a service that implements TheRedDot\MonologExtraBundle\Provider\User\UserProviderInterface.

the_red_dot_monolog_extra:
    provider:
        user: your_own_provider_service_id

Session id

Add the session id in each log entry.

the_red_dot_monolog_extra:
    session_start: false
    processor:
        session_id: true

You can create your own provider by creating a service that implements TheRedDot\MonologExtraBundle\Provider\Session\SessionIdProviderInterface.

the_red_dot_monolog_extra:
    provider:
        session_id: your_own_provider_service_id

Request id

Add the request id for the request in each log entry.

the_red_dot_monolog_extra:
    processor:
        request_id: true

The bundle comes with 2 providers:

  • UniqidProvider (default): use uniqid
  • ServerRequestIdProvider: get from $_SERVER
    • you need to pass the name of a field of $_SERVER, example for mod_unique_id of Apache: UNIQUE_ID.

You can create your own provider by creating a service that implements TheRedDot\MonologExtraBundle\Provider\RequestId\RequestIdProviderInterface.

the_red_dot_monolog_extra:
    provider:
        request_id: your_own_provider_service_id

Additions

Add custom data in each log entry.

the_red_dot_monolog_extra:
    processor:
        additions:
            type: symfony
            application: the best symfony application
            locale: "%locale%"
            environment: "%kernel.environment%"

Loggers

On request

Create a log entry with the request data.

On response

Create a log entry with the response data.

On console command

Create a log entry before executing any command.

On console exception

Create a log entry when an exception occurs in console.

Add request id to response

Add the request id of the previous processor in the response headers.

HTTP/1.1 302 Found
X-Request-ID: 57c5f5e842b10

Configuration reference

Configuration reference for a reference on the available configuration options.

Credits

Forked from Hexanet/MonologExtraBundle.

License

MonologExtraBundle is licensed under the MIT license.