Фильтровать записи Monolog из другого процесса

У меня есть два сценария PHP. Первый скрипт (например, local.php) выполняет второй (например, remote.php) через SSH с использованием phpseclib. Оба сценария используют Monolog для записи логов на консоль.

Теперь моя проблема: как я могу отфильтровать записи журнала из скрипта, выполненного через SSH в скрипте local.php?

Например: я хочу видеть только ошибки и предупреждения, но удаленный сценарий всегда отправляет все записи (поскольку другим обработчикам в сценарии local.php может потребоваться более высокий уровень журнала). Таким образом, скрипт local.php должен проанализировать вывод журнала скрипта remote.php и назначить записи в записи Monolog.

2 ответа

Я думаю, вы можете использовать процессоры, может быть, TagProcessorв удаленный скрипт, чтобы добавить что-то полезное для идентификации локальных логов и их использования соответствующим образом.

Я мог бы получить решение: Monolog также позволяет форматировать вывод как JSON, используя JsonFormatter. Таким образом, я мог бы просто отформатировать весь вывод логгера в скрипте remote.php, используя JsonFormatter, и построчно анализировать его в моем скрипте local.php (исключая любую строку, которая не является JSON, просто проверяя вывод json_decode()).

Другие вопросы по тегам