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":"Недостаточно прав"}

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

  1. При настройке логирования:

    • Убедитесь в корректности перевода уровней
    • Проверьте формат даты
    • Настройте обработку контекстных данных
  2. При расширении функциональности:

    • Создайте собственный класс-наследник
    • Переопределите метод formatMessage()
    • Сохраните базовую структуру форматирования

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