Форматирование строк журнала

У меня проблема с реализацией системы журналирования на основе стандартов PSR-3 (и интерфейсы / классы, поставляемые с ней - https://github.com/php-fig/log).

Я создал несколько классов, расширяющих PSR-3: logger, который использует адаптеры для ведения реальной регистрации (класс logger хранит экземпляр адаптера и вызывает в нем метод log()), и я пришел к файловому адаптеру (адаптеру, который записывает сообщения журнала в файл (ы).)) и я ищу способ реализации пользовательских форматов строк журнала. Я имею в виду, что я мог регистрировать сообщения как

[01/01/2013 12:00:00] NOTICE: Log message content\n

так же как

user: Log message content (NOTICE) ~ 01-01-2013

(полный заказ и содержание)

Кроме того, я хотел бы создать отдельный класс для этого.

Есть ли способ сделать это очень удобным способом, чтобы другие (даже неопытные phpers) не имели проблем с изменением этого?

1 ответ

Может быть, это мейнстрим, но вы смотрели на Монолог

Вы могли бы реализовать HandlerInterface вместо LoggerInterface, Форматирование будет решено Monolog, используя ваш шаблон.

Это решение также лучше, так как вы можете использовать ONE Logger и много обработчиков в Monolog.

Есть один минус / минус (вы решаете): вам нужно реализовать регистрацию вашего уровня в обработчике, что может быть немного уродливо.

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