Обробники
Дата оновлення перекладу 2024-05-29
Обробники
ElasticsearchLogstashHandler
Цей обробник працює напряму з HTTP інтерфейсом Elasticsearch. Це означає, що він уповільнить ваш додаток, якщо Elasticsearch знадобиться час для відповіді. Навіть якщо всі HTTP-виклики будуть зроблені асинхронно.
Щоб використати його, оголосіть його сервісом:
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/enum Monolog\Level::Debug
$bubble: true
$elasticsearchVersion: '1.0.0'
Потім, пошліться на нього у конфігурації Monolog:
У середовищі розробки добре зберігати конфігурацію за замовчуванням: для для кожного журналу буде зроблено HTTP-запит, щоб відправити журнал до Elasticsearch:
1 2 3 4 5 6
# config/packages/prod/monolog.yaml
monolog:
handlers:
es:
type: service
id: Symfony\Bridge\Monolog\Handler\ElasticsearchLogstashHandler
У середовищі виробництва настійно рекомендується обгорнути цей обробник в обробник з можливостями буферизації (наприклад, FingersCrossedHandler або BufferHandler), щоб викликати Elasticsearch лише один раз при масовому пуші. Для ще кращої продуктивності та відмовостійкості рекомендується використовувати правильний ELK-стек.
1 2 3 4 5 6 7 8 9 10
# config/packages/prod/monolog.yaml
monolog:
handlers:
main:
type: fingers_crossed
handler: es
es:
type: service
id: Symfony\Bridge\Monolog\Handler\ElasticsearchLogstashHandler