Обробники

Дата оновлення перекладу 2022-12-15

Обробники

ElasticsearchLogstashHandler

Цей обробник працює напряму з HTTP інтерфейсом Elasticsearch. Це означає, що він уповільнить ваш додаток, якщо Elasticsearch знадобиться час для відповіді. Навіть якщо всі HTTP-виклики будуть зроблені асинхронно.

У середовищі розробки достатньо залишити конфігурацію за замовчуванням: для кожного логу буде зроблено HTTP-запит, щоб передати лог Elasticsearch.

У середовищі виробництва дуже рекомендується огортати цей обробник в обробник з можливістю буферізації (на кшталт FingersCrossedHandler або BufferHandler) для того, щоб викликати Elasticsearch лише один раз при масовій передачі. Для кращої продуктивності та толерантності до помилок, рекомендовано правильний стек ELK.

Щоб використати його, оголосіть його сервісом:

  • YAML
  • XML
  • PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
# config/services.yaml
services:
    Symfony\Bridge\Monolog\Handler\ElasticsearchLogstashHandler: ~

    # опціонально, сконфігуруйте обробник, використовуючи аргументи конструктора (показані значення є значеннями за замовчуванням)
    Symfony\Bridge\Monolog\Handler\ElasticsearchLogstashHandler: ~
        arguments:
            $endpoint: "http://127.0.0.1:9200"
            $index: "monolog"
            $client: null
            $level: !php/const Monolog\Logger::DEBUG
            $bubble: true
            $elasticsearchVersion: '1.0.0'

Потім, пошліться на нього у конфігурації Monolog:

  • YAML
  • XML
  • PHP
1
2
3
4
5
6
# config/packages/prod/monolog.yaml
monolog:
    handlers:
        es:
            type: service
            id: Symfony\Bridge\Monolog\Handler\ElasticsearchLogstashHandler