Spec-Zone.ru › Yii 2.0

Класс 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:

  • Yii::trace()
  • Yii::error()
  • Yii::warning()
  • Yii::info()
  • Yii::beginProfile()
  • Yii::endProfile()

Подробнее о 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 массив

Временные данные. Каждый элемент — массив, содержащий следующие элементы: info, category, timestamp, trace, level, duration, memory, memoryDiff. Значения memory и memoryDiff доступны начиная с версии 2.0.11.

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 массив

Результаты профилирования. Каждый элемент — массив, содержащий следующие элементы: info, category, timestamp, trace, level, duration, memory, memoryDiff. Значения memory и memoryDiff доступны начиная с версии 2.0.11.

init() общедоступный метод

Инициализирует регистратор, регистрируя flush() в качестве функции завершения работы.

public void init ( )

log() общедоступный метод

Записывает сообщение с указанным типом и категорией.

Если $traceLevel больше 0, дополнительная информация о стеке вызовов кода приложения также будет записана.

public void log ( $message, $level, $category = 'application' )
$message строка|массив

Сообщения, подлежащие записи. Может быть простой строкой или более сложной структурой данных, которая будет обрабатываться целевым приложением лога.

$level целое

Уровень сообщения. Должно быть одним из следующих: Logger::LEVEL_ERROR, Logger::LEVEL_WARNING, Logger::LEVEL_INFO, Logger::LEVEL_TRACE, Logger::LEVEL_PROFILE_BEGIN, Logger::LEVEL_PROFILE_END.

$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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API