Обробники
Дата оновлення перекладу 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