log_handlers
Класс BufferedFileHandler
Пространство имён: goodboyalex\php_components_pack\log_handlers
Версия: 1.0
Доступно с: 1.3
Описание
Класс реализует обработчик системы журналирования для вывода в файл с буферизацией. Позволяет накапливать записи в памяти и сбрасывать их в файл при достижении заданного порога.
Основные характеристики
- Буферизация: накопление записей в памяти
- Конфигурация: через массив настроек
- Сброс: при достижении заданного порога записей
- Форматирование: использует ILogFormatter для форматирования сообщений
Свойства класса
formatter: объект форматера сообщенийconfig: массив конфигурации
Методы класса
Основные методы
handle(): обработка и запись сообщенияflush(): принудительный сброс буфераsetFile(): установка пути к файлуsetFlushAfter(): установка порога сброса
Пример конфигурации
$config = [
'file' => 'c:\logs\my_log.log',
'flush_threshold' => 3000
];
Примеры использования
// Создание обработчика
$formatter = new DefaultLogFormatter();
$handler = new BufferedFileHandler();
$handler->formatter = $formatter;
$handler->setFile('app.log');
$handler->setFlushAfter(1000);
// Обработка сообщения
$handler->handle(
MessageType::INFO,
'Операция выполнена',
['user_id' => 123]
);
Особенности реализации
- Автоматическое сбрасывание: при достижении порога записей
- Деструкторы: гарантирует сброс оставшихся записей
- Гибкая конфигурация: через массив настроек
- Буферизация: снижает нагрузку на файловую систему
Рекомендации по использованию
-
Настройка конфигурации:
- Укажите корректный путь к файлу
- Настройте оптимальный порог буферизации
-
Обработка ошибок:
- Добавьте обработку исключений при работе с файлами
- Проверьте права доступа к файлу лога