Это дополнение XenForo 2.x добавляет функциональность ведения журнала с использованием библиотеки Monolog от
GitHub - Seldaek/monolog: Sends your logs to files, sockets, inboxes, databases and various web services
Примечания
версия v3.x этого дополнения использует Monolog v1
версия v4.x этого дополнения использует Monolog v2
В настоящее время нет никакой разницы в функциональности между двумя версиями, кроме используемой версии Monolog.
Характеристики
- Запись в файл
- Отправляйте журналы по электронной почте
- Журналы, отправляемые по электронной почте, дедуплицируются и буферизуются
- Настройте минимальные уровни ведения журнала для файлов по сравнению с ведением журнала электронной почты
- Добавьте в журналы дополнительные данные о посетителях: user_id и username
- Добавьте в журналы дополнительные веб-данные: текущий URI запроса, метод запроса и IP-адрес клиента
- Включен тестовый инструмент для проверки того, что журналы записываются на диск - перейдите по ссылке AdminCP > Tools > Checks and tests > Test Monolog
Инструкции по использованию
По умолчанию это дополнение будет записывать события в файл с именем internal_data/monolog.log - это настраивается.
Чтобы использовать средство ведения журнала по умолчанию, выполните следующие действия в коде вашего дополнения:
use Monolog\Helper\Log;
Log::info('an info message', ['context' => 'foo']);
Log::error('an error message', ['data' => 'bar']);
Тем не менее, рекомендуется создать собственный канал для вашего дополнения, чтобы упростить фильтрацию записей журнала:
$logger = \XF::app()->get('monolog')->newChannel('myaddon');
$logger->warning('a warning message', ['context' => 'foo']);
Обратитесь к документации для получения более подробных
инструкций по использованию Monolog.
Вы можете создать свой собственный стек обработчиков, чтобы настроить порядок ведения журнала:
use Monolog\Logger;
$monolog = \XF::app()->get('monolog');
$streamhandler = $monolog->stream(); // return our default stream handler for logging to a file
//(or create your own!)
/** @var Monolog\Logger $logger */
$logger = $monolog->logger('myaddon');
$logger->pushHandler($streamhandler); // push our stream handler onto the handler stack
// you can apply any other customisations you like here as well by adding custom handlers, formatters or processors
$logger->critical('a critical message', ['context' => 'foo']);
Обратитесь к
Обработчикам, средствам форматирования и процессорам для получения дополнительной информации.