отправлять журналы из php-приложения в Graylog с помощью монолога

Я установил сервер Graylog и его зависимости. Попытка отправить журналы из моего php-приложения на сервер Graylog с помощью Monolog. Но я не знаю, как использовать обработчик Gelf. Я видел GelfHandlerTest.php, который присутствует в проекте Monolog, но я не могу установить своего издателя и создать обработчик. Может ли кто-нибудь объяснить мне пример кода как это использовать.

Попытка отправить журналы с моего локального apache на сервер, настроенный в той же частной сети, где установлен Graylog.

Файл testLogging, который выполняется в PHP:

use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Monolog\Handler\GelfHandler;
use Gelf\Message;
use Monolog\Formatter\GelfMessageFormatter;


$handler = new GelfHandler($publisher);

Как установить издателя в монологе?

Любая помощь приветствуется. Спасибо.


person Rajeshwar    schedule 17.03.2016    source источник
comment
Предоставьте минимальный, полный и проверяемый пример: stackoverflow.com/help/mcve   -  person msp    schedule 17.03.2016


Ответы (1)


Пожалуйста, проверьте следующие ссылки:

https://laracasts.com/discuss/channels/general-discussion/l5-logging-to-graylog2

Graylog2 с Symfony 2 (Monolog)

В основном вам нужно что-то вроде: $handler = new GelfHandler(new Gelf\Publisher( new Gelf\Transport\TcpTransport(HOST,PORT) ));

Транспорт должен быть входом, который вы добавили на платформе Grayog. Пример: new TcpTransport(127.0.0.1,12201)

Доступные транспорты: https://github.com/bzikarsky/gelf-php/tree/master/src/Gelf/Transport

Надеюсь, поможет.

person Florin Marin    schedule 26.05.2018