interfaces/ILogger.md
Интерфейс ILogger
Общее описание
Интерфейс определяет контракты для классов, реализующих систему журналирования событий.
Пространство имён: goodboyalex\php_components_pack\interfaces
Версия: 1.0
Доступно с: 1.3.1
Методы интерфейса
Метод log
public function log(MessageType $level, string $message, array $context = []): void;
- Назначение: добавление сообщения в журнал
- Параметры:
$level— уровень сообщения (MessageType)$message— текст сообщения$context— контекст сообщения (опционально)
- Возвращаемое значение: void
Метод debug
public function debug(string $message, array $context = []): void;
- Назначение: добавление отладочного сообщения
- Параметры:
$message— текст сообщения$context— контекст сообщения (опционально)
- Возвращаемое значение: void
Метод info
public function info(string $message, array $context = []): void;
- Назначение: добавление информационного сообщения
- Параметры:
$message— текст сообщения$context— контекст сообщения (опционально)
- Возвращаемое значение: void
Метод warning
public function warning(string $message, array $context = []): void;
- Назначение: добавление предупреждающего сообщения
- Параметры:
$message— текст сообщения$context— контекст сообщения (опционально)
- Возвращаемое значение: void
Метод error
public function error(string $message, array $context = []): void;
- Назначение: добавление сообщения об ошибке
- Параметры:
$message— текст сообщения$context— контекст сообщения (опционально)
- Возвращаемое значение: void
Рекомендации по применению
-
Выбор уровня:
- используйте соответствующий метод для каждого типа сообщения
- учитывайте важность информации
-
Контекст:
- добавляйте только релевантную информацию
- избегайте избыточных данных
-
Производительность:
- учитывайте влияние на производительность
- используйте соответствующие уровни логирования
Пример использования
// Добавление отладочного сообщения
$logger->debug('Функция успешно выполнена', ['function' => 'processData']);
// Добавление информационного сообщения
$logger->info('Пользователь авторизован', ['user_id' => 123]);
// Добавление предупреждения
$logger->warning('Недостаточно прав доступа', ['user_id' => 456, 'action' => 'delete']);
// Добавление сообщения об ошибке
$logger->error('Произошла ошибка при сохранении данных', ['error' => 'SQL error']);