Класс, отвечающий за запись логов в файл стандартными средствами PHP.
Реализует интерфейс \Psr\Log\LoggerInterface. Логгер предполагает 8 уровней критичности, определённых в PSR-3:
- Class name: MindboxFileLogger
- Namespace: Mindbox\Loggers
- Parent class: Psr\Log\AbstractLogger
const DEBUG = 100
const INFO = 200
const NOTICE = 250
const WARNING = 300
const ERROR = 400
const CRITICAL = 500
const ALERT = 550
const EMERGENCY = 600
const LOG_FILE_NAME = 'mindbox.log'
private string $logsDirectory
- Visibility: private
private integer $logLevel
- Visibility: private
protected array<mixed,string> $levels = array(self::DEBUG => 'DEBUG', self::INFO => 'INFO', self::NOTICE => 'NOTICE', self::WARNING => 'WARNING', self::ERROR => 'ERROR', self::CRITICAL => 'CRITICAL', self::ALERT => 'ALERT', self::EMERGENCY => 'EMERGENCY')
- Visibility: protected
- This property is static.
mixed Mindbox\Loggers\MindboxFileLogger::__construct(string $logsDirectory, string $logLevel)
Конструктор MindboxFileLogger.
- Visibility: public
- $logsDirectory string - <p>Путь к диретории для записи логов.</p>
- $logLevel string - <p>Уровень логирования запросов. По умолчанию логируются только ошибки:</p> <ul> <li>код ответа 4XX;</li> <li>пустое тело ответа;</li> <li>неизвестный код ответа.</li> </ul>
mixed Mindbox\Loggers\MindboxFileLogger::setLogLevel(string|integer $logLevel)
Сеттер для $logLevel.
- Visibility: private
- $logLevel string|integer - <p>Уровень логирования.</p>
integer Mindbox\Loggers\MindboxFileLogger::toMindboxLogLevel(string|integer $logLevel)
Перевод уровня логирования в формат понятный MindboxFileLogger.
- Visibility: private
- $logLevel string|integer - <p>Уровень логирования, может быть задан как строкой, так и числом.</p>
mixed Mindbox\Loggers\MindboxFileLogger::validateLogsDirectory()
Проверка существования и создание директории для записи логов.
- Visibility: private
string Mindbox\Loggers\MindboxFileLogger::getFullDirPath()
Возвращает полный путь до директории содержащей лог файл.
- Visibility: private
string Mindbox\Loggers\MindboxFileLogger::getLogDirPath()
Возвращает путь до директории в которую будут записаны логи в формате: mindbox/ГГГГ/ММ/ДД.
- Visibility: public
- This method is static.
mixed Mindbox\Loggers\MindboxFileLogger::log(mixed $level, string $message, array $context)
Проверка уровня логирования, формирование сообщения и запись в файл.
- Visibility: public
- $level mixed - <p>Уровень записи.</p>
- $message string - <p>Сообщение.</p>
- $context array - <p>Контекст.</p>
string Mindbox\Loggers\MindboxFileLogger::getMessage(mixed $level, string $message, array $context)
Формирование сообщения для записи в лог.
- Visibility: private
- $level mixed - <p>Уровень сообщения.</p>
- $message string - <p>Тело сообщения.</p>
- $context array - <p>Контекст.</p>
string Mindbox\Loggers\MindboxFileLogger::getFullPath()
Возвращает полный путь до файла с логами.
- Visibility: private
mixed Mindbox\Loggers\MindboxFileLogger::writeLog(string $fileName, string $record)
Запись лога в файл.
- Visibility: private
- $fileName string - <p>Полный путь до файла.</p>
- $record string - <p>Тело сообщения.</p>