Задать вопрос

Лаконичный класс для логирования событий

Понадобилось логировать события в приложении.

Требуется:
1. Простой вызов в одну строку в точке записи сообщения.
2. Возможность указывать уровни сообщений (ошибка, сообщение итд).
3. Возможность переназначить куда данные сохранять и в каком формате.

Смотрел ZEND_LOG, LOG4PHP, есть что то более компактное? Изобретать велосипед не очень хочется.
  • Вопрос задан
  • 4790 просмотров
Подписаться 5 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 4
@egorinsk
file_put_contents(LOG_FILE_NAME, $logMessage, FILE_APPEND); — class и public static function log можете вписать сами.
Ответ написан
Fastto
@Fastto
Посмотрите этот класс на github — это класс диагностики

begin() — инициализирует лог

log( $text, $isImportantly = false ) — собственно добавляем запись в лог, с пометкой важности

showLog( $logMode = DIAGNOSTICS_LOG_MODE_TEXT ) — вывод лога, доступны 2 режима — html и в поток

каждая строка выводится с пометкой времени в миллисекундах с точностью до 2-го знака после запятой

в качестве хранилища использован реестр — т.е. нужно будет разместить хранилище внутри класса, чтобы не тянуть за собой MB\Registry.php

Чтобы реализовать все ваши потребности необходимо минимум вмешательств в методы log и showLog
Ответ написан
Комментировать
shinyweb
@shinyweb
На мой взгляд нет ничего проще и мощнее и, чтобы подходил под ваши критерии, чем Pear пакет Log: http://pear.php.net/package/Log. Довольно доходчивая документация с примерами тут.
Ответ написан
Комментировать
Monolog — компактным назвать нельзя, но вот по гибкости куда-чего назначать… Различные обёртки а-ля пайпы и т. п. Например понравилась возможность на error отправлять и мыло, кроме записи в лог.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы