Как сконфигурировать Monolog так, чтобы он исключал ошибки 404 из логов

Как сконфигурировать Monolog так, чтобы он исключал ошибки 404 из логов

Иногда ваши логи заполняются ненужными HTTP-ошибками 404, например, когда атакующий сканирует ваше приложение на наиболее известные пути приложения (например, /phpmyadmin). При использовании обработчика fingers_crossed, вы можете исключить логирование этих ошибок 404, основываясь на регулярном выражении в конфигурации MonologBundle:

  • YAML
    1
    2
    3
    4
    5
    6
    7
    8
    9
    # app/config/config.yml
    monolog:
        handlers:
            main:
                # ...
                type: fingers_crossed
                handler: ...
                excluded_404s:
                    - ^/phpmyadmin
    
  • XML
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    <!-- app/config/config.xml -->
    <container xmlns="http://symfony.com/schema/dic/services"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:monolog="http://symfony.com/schema/dic/monolog"
        xsi:schemaLocation="http://symfony.com/schema/dic/services
            http://symfony.com/schema/dic/services/services-1.0.xsd
            http://symfony.com/schema/dic/monolog
            http://symfony.com/schema/dic/monolog/monolog-1.0.xsd">
    
        <monolog:config>
            <monolog:handler type="fingers_crossed" name="main" handler="...">
                <!-- ... -->
                <monolog:excluded-404>^/phpmyadmin</monolog:excluded-404>
            </monolog:handler>
        </monolog:config>
    </container>
    
  • PHP
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    // app/config/config.php
    $container->loadFromExtension('monolog', array(
        'handlers' => array(
            'main' => array(
                // ...
                'type'          => 'fingers_crossed',
                'handler'       => ...,
                'excluded_404s' => array(
                    '^/phpmyadmin',
                ),
            ),
        ),
    ));
    

Эта документация является переводом официальной документации Symfony и предоставляется по свободной лицензии CC BY-SA 3.0.