log_handlers/RotatingFileHandler.md


Класс RotatingFileHandler

Пространство имён: goodboyalex\php_components_pack\log_handlers
Версия: 1.0
Доступно с: 1.3

Описание

Класс реализует обработчик системы журналирования для вывода в файл с автоматической ротацией по размеру и количеству файлов.

Основные характеристики

  • Ротация файлов: автоматическое управление размером и количеством файлов
  • Форматирование: использует установленный форматер
  • Конфигурация: через массив настроек
  • Режим записи: добавление в конец файла

Свойства класса

  • formatter: объект форматера сообщений
  • config: массив конфигурации

Методы класса

Основные методы

  • handle(): обработка и запись сообщения
  • setFile(): установка пути к файлу
  • setSizeLimit(): установка максимального размера файла
  • setFilesLimit(): установка максимального количества файлов

Конфигурация

Пример настроек:

$config = [
    'file' => 'c:\logs\my_log.log',
    'max_size' => 5242880,  // 5 МБ
    'max_files' => 3
];

Примеры использования

// Создание обработчика
$formatter = new DefaultLogFormatter();
$handler = new RotatingFileHandler();
$handler->formatter = $formatter;
$handler->setFile('app.log');
$handler->setSizeLimit(1024 * 1024);  // 1 МБ
$handler->setFilesLimit(5);

// Обработка сообщения
$handler->handle(
    MessageType::INFO,
    'Операция выполнена',
    ['user_id' => 123]
);

Особенности реализации

  • Автоматическая ротация: при достижении максимального размера
  • Управление файлами: ограничение по количеству
  • Форматирование: использование установленного форматера
  • Режим добавления: файлы не перезаписываются

Рекомендации по использованию

  1. Настройка конфигурации:

    • Укажите корректный путь к файлу
    • Настройте оптимальный размер файлов
    • Определите подходящее количество файлов
  2. Обработка ошибок:

    • Добавьте проверку существования директории
    • Обработайте возможные ошибки записи

Ограничения

  • Производительность: прямая запись может снижать производительность
  • Безопасность: требуется контроль прав доступа
  • Размер файлов: необходимо следить за свободным местом на диске

На главную | Содержание