Обработчики

Дата обновления перевода 2021-09-28

Обработчики

ElasticsearchLogstashHandler

Этот обработчик работает напрямую с HTTP интерфейсом Elasticsearch. Это означает, что он замедлит ваше приложение, если Elasticsearch понадобится время для ответа. Даже если все HTTP-вызовы будут произведены асинхронно.

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

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

Чтобы использовать его, объявите его сервисом:

  • YAML
  • XML
  • PHP
1
2
3
# config/services.yaml
services:
    Symfony\Bridge\Monolog\Handler\ElasticsearchLogstashHandler: ~

Затем сошлитесь на него в конфигурации 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