Класс yii\log\Logger
| Наследование | yii\log\Logger » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступна с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/log/Logger.php |
Logger записывает логированные сообщения в памяти и отправляет их в разные целевые точки, если установлен $dispatcher.
Экземпляр Logger можно получить через Yii::getLogger(). Можно вызвать метод log() для записи отдельного сообщения. Для удобства предоставляется набор сокращённых методов для записи сообщений различных уровней важности через класс Yii:
Подробнее о Logger и его использовании можно узнать в статье руководства по логированию.
По завершении приложения или достижении значения $flushInterval, Logger вызовет flush() для отправки логированных сообщений в различные целевые точки, такие как файл, электронная почта или база данных, с помощью $dispatcher.
Общедоступные свойства
| Свойство | Тип | Описание | Определено |
|---|---|---|---|
| $behaviors | yii\base\Behavior[] | Список присоединённых к этому компоненту поведений | yii\base\Component |
| $dbProfiling | массив | Первый элемент указывает количество выполненных SQL-запросов, а второй – общее время, затраченное на выполнение SQL-запросов. | yii\log\Logger |
| $dispatcher | yii\log\Dispatcher | Диспечер сообщений | yii\log\Logger |
| $elapsedTime | вещественное число | Общее время выполнения текущего запроса в секундах. | yii\log\Logger |
| $flushInterval | целое число | Сколько сообщений должно быть записано, прежде чем они будут очищены из памяти и отправлены в целевые точки. | yii\log\Logger |
| $messages | массив | Логированные сообщения. | yii\log\Logger |
| $profiling | массив | Результаты профилирования. | yii\log\Logger |
| $traceLevel | целое число | Сколько информации о стеке вызовов (имя файла и номер строки) должно быть записано для каждого сообщения. | yii\log\Logger |
Общедоступные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает метод с указанным именем, который не является методом класса. | yii\base\Object |
| __clone() | Этот метод вызывается после создания объекта путём клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в значение null. | yii\base\Object |
| attachBehavior() | Прикрепляет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Прикрепляет список поведений к компоненту. | yii\base\Component |
| behaviors() | Возвращает список поведений, которые должен иметь этот компонент. | yii\base\Component |
| calculateTimings() | Вычисляет время, прошедшее для заданных сообщений журнала. | yii\log\Logger |
| canGetProperty() | Возвращает значение, указывающее, можно ли считать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), прикреплены к этому компоненту. | yii\base\Component |
| flush() | Очищает сообщения журнала из памяти в целевые устройства. | yii\log\Logger |
| getBehavior() | Возвращает объект поведения с указанным именем. | yii\base\Component |
| getBehaviors() | Возвращает все поведения, прикрепленные к этому компоненту. | yii\base\Component |
| getDbProfiling() | Возвращает статистические результаты запросов к БД. | yii\log\Logger |
| getElapsedTime() | Возвращает общее время, прошедшее с начала текущего запроса. | yii\log\Logger |
| getLevelName() | Возвращает текстовое представление указанного уровня. | yii\log\Logger |
| getProfiling() | Возвращает результаты профилирования. | yii\log\Logger |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчик, прикреплённый к событию с указанным именем. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует логгер, регистрируя flush() как функцию завершения. | yii\log\Logger |
| log() | Записывает сообщение с заданным типом и категорией. | yii\log\Logger |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| on() | Прикрепляет обработчик событий к событию. | yii\base\Component |
| trigger() | Вызывает событие. | yii\base\Component |
Константы
| Константа | Значение | Описание | Определено в |
|---|---|---|---|
| LEVEL_ERROR | 1 | Уровень сообщений об ошибках. Сообщение об ошибке указывает на ненормальное завершение приложения и может потребовать обработки разработчиком. | yii\log\Logger |
| LEVEL_INFO | 4 | Уровень информационных сообщений. Информационное сообщение содержит определенную информацию для ознакомления разработчика. | yii\log\Logger |
| LEVEL_PROFILE | 64 | Уровень сообщений профилирования. Это указывает, что сообщение предназначено для целей профилирования. | yii\log\Logger |
| LEVEL_PROFILE_BEGIN | 80 | Уровень сообщений профилирования. Это указывает, что сообщение предназначено для целей профилирования. Оно отмечает начало блока профилирования. | yii\log\Logger |
| LEVEL_PROFILE_END | 96 | Уровень сообщений профилирования. Это указывает, что сообщение предназначено для целей профилирования. Оно отмечает конец блока профилирования. | yii\log\Logger |
| LEVEL_TRACE | 8 | Уровень сообщений отслеживания. Сообщение отслеживания показывает поток выполнения кода. | yii\log\Logger |
| LEVEL_WARNING | 2 | Уровень предупреждающих сообщений. Предупреждающее сообщение указывает на некоторое отклонение, но приложение может продолжать работу. Разработчики должны обратить внимание на это сообщение. | yii\log\Logger |
Подробное описание свойств
$dbProfiling общедоступное только для чтения свойство
Первый элемент указывает количество выполненных SQL-запросов, а второй — общее время, затраченное на выполнение SQL-запросов.
public array getDbProfiling ( )
$dispatcher общедоступное свойство
Диспечер сообщений
public yii\log\Dispatcher $dispatcher = null
$elapsedTime общедоступное только для чтения свойство
Общее время в секундах для текущего запроса.
public float getElapsedTime ( )
$flushInterval общедоступное свойство
Сколько сообщений должно быть записано в журнал перед тем, как они будут очищены из памяти и отправлены в целевые устройства. По умолчанию равно 1000, что означает, что метод flush() будет вызываться каждые 1000 сообщений. Установите это свойство в 0, если вы не хотите очищать сообщения до завершения приложения. Это свойство в основном влияет на то, сколько памяти будет занимать журнал. Меньшее значение означает меньше памяти, но увеличивает время выполнения из-за накладных расходов метода flush().
public integer $flushInterval = 1000
$messages общедоступное свойство
Записанные сообщения. Это свойство управляется методами log() и flush(). Каждое сообщение журнала имеет следующий структуру:
[ [0] => message (mixed, can be a string or some complex data, such as an exception object) [1] => level (integer) [2] => category (string) [3] => timestamp (float, obtained by microtime(true)) [4] => traces (array, debug backtrace, contains the application code call stacks) [5] => memory usage in bytes (int, obtained by memory_get_usage()), available since version 2.0.11. ]
public array $messages = []
$profiling общедоступное только для чтения свойство
Результаты профилирования. Каждый элемент представляет собой массив, содержащий следующие элементы: info, category, timestamp, trace, level, duration, memory, memoryDiff. Значения memory и memoryDiff доступны начиная с версии 2.0.11.
public array getProfiling ( $categories = [], $excludeCategories = [] )
$traceLevel общедоступное свойство
Сколько информации о стеке вызовов (имя файла и номер строки) должно быть записано для каждого сообщения. Если значение больше 0, будет записано не более указанного количества стеков вызовов. Обратите внимание, что учитываются только стеки вызовов приложения.
public integer $traceLevel = 0
Подробное описание методов
calculateTimings() общедоступный метод
Вычисляет время, затраченное на указанные сообщения журнала.
| public массив calculateTimings ( $messages ) | ||
|---|---|---|
| $messages | массив |
Сообщения журнала, полученные при профилировании |
| return | массив |
Временные данные. Каждый элемент — массив, содержащий следующие элементы: |
flush() общедоступный метод
Очищает сообщения журнала из памяти в целевые приложения.
| public void flush ( $final = false ) | ||
|---|---|---|
| $final | логическое |
Является ли это последним вызовом во время запроса. |
getDbProfiling() общедоступный метод
Возвращает статистические результаты запросов к БД.
Возвращаемые результаты включают количество выполненных SQL-запросов и общее затраченное время.
| public массив getDbProfiling ( ) | ||
|---|---|---|
| return | массив |
Первый элемент указывает количество выполненных SQL-запросов, а второй — общее время выполнения SQL-запросов. |
getElapsedTime() общедоступный метод
Возвращает общее прошедшее время с начала текущего запроса.
Этот метод вычисляет разницу между текущим временем и меткой времени, определенной константой YII_BEGIN_TIME, которая вычисляется в начале файла класса yii\BaseYii.
| public вещественное getElapsedTime ( ) | ||
|---|---|---|
| return | вещественное |
Общее прошедшее время в секундах для текущего запроса. |
getLevelName() общедоступный статический метод
Возвращает текстовое представление указанного уровня.
| public static строка getLevelName ( $level ) | ||
|---|---|---|
| $level | целое |
Уровень сообщения, например, LEVEL_ERROR, LEVEL_WARNING. |
| return | строка |
Текстовое представление уровня |
getProfiling() общедоступный метод
Возвращает результаты профилирования.
По умолчанию возвращаются все результаты профилирования. Вы можете указать $categories и $excludeCategories в качестве параметров, чтобы получить интересующие вас результаты.
| public массив getProfiling ( $categories = [], $excludeCategories = [] ) | ||
|---|---|---|
| $categories | массив |
Список категорий, которые вас интересуют. Вы можете использовать звездочку в конце категории для выполнения поиска по префиксу. Например, 'yii\db*' будет соответствовать категориям, начинающимся с 'yii\db\', таким как 'yii\db\Connection'. |
| $excludeCategories | массив |
Список категорий, которые вы хотите исключить |
| return | массив |
Результаты профилирования. Каждый элемент — массив, содержащий следующие элементы: |
init() общедоступный метод
Инициализирует регистратор, регистрируя flush() в качестве функции завершения работы.
| public void init ( ) |
|---|
log() общедоступный метод
Записывает сообщение с указанным типом и категорией.
Если $traceLevel больше 0, дополнительная информация о стеке вызовов кода приложения также будет записана.
| public void log ( $message, $level, $category = 'application' ) | ||
|---|---|---|
| $message | строка|массив |
Сообщения, подлежащие записи. Может быть простой строкой или более сложной структурой данных, которая будет обрабатываться целевым приложением лога. |
| $level | целое |
Уровень сообщения. Должно быть одним из следующих: |
| $category | строка |
Категория сообщения. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-log-logger.html