log_formatters/RussianLogFormatter.md
Класс RussianLogFormatter
Пространство имён: goodboyalex\php_components_pack\log_formatters
Версия: 1.0
Доступно с: 1.3
Описание
Класс реализует форматирование сообщений системы журналирования на русском языке. Наследует интерфейс ILogFormatter.
Методы класса
formatMessage()
public function formatMessage(MessageType $level, string $message, array $context = []): string
Описание: Форматирует сообщение с учетом русского языка.
Параметры:
$level(MessageType) — уровень логирования$message(string) — основное сообщение$context(array) — контекстные данные (опционально)
Возвращаемое значение:
string— отформатированное сообщение
Особенности реализации
- Поддержка русского перевода уровней логирования
- Форматирование даты в формате «дд.мм.гггг»
- Возможность вывода контекстных данных в JSON
- Поддержка Unicode символов
Примеры использования
Базовый пример
$formatter = new RussianLogFormatter();
$message = $formatter->formatMessage(
MessageType::INFO,
'Операция успешно выполнена'
);
// Результат:
// 10.12.2023 14:30:00 [ИНФОРМАЦИЯ] Операция успешно выполнена
Пример с контекстом
$formatter = new RussianLogFormatter();
$message = $formatter->formatMessage(
MessageType::ERROR,
'Произошла ошибка при обработке запроса',
[
'user_id' => 123,
'request_id' => 'abc123',
'error' => 'Недостаточно прав'
]
);
// Результат:
// 10.12.2023 14:30:00 [ОШИБКА] Произошла ошибка при обработке запроса | {"user_id":123,"request_id":"abc123","error":"Недостаточно прав"}
Рекомендации по использованию
-
При настройке логирования:
- Убедитесь в корректности перевода уровней
- Проверьте формат даты
- Настройте обработку контекстных данных
-
При расширении функциональности:
- Создайте собственный класс-наследник
- Переопределите метод formatMessage()
- Сохраните базовую структуру форматирования