Абстрактный класс yii\log\Target
| Наследование | yii\log\Target » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Подклассы | yii\debug\LogTarget, yii\elasticsearch\ElasticsearchTarget, yii\log\DbTarget, yii\log\EmailTarget, yii\log\FileTarget, yii\log\SyslogTarget, yii\mongodb\log\MongoDbTarget |
| Доступен с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/log/Target.php |
Target — базовый класс для всех классов-мишеней логов.
Объект мишени логов будет фильтровать сообщения, записанные объектом yii\log\Logger, в соответствии со своими свойствами $levels и $categories. Он также может экспортировать отфильтрованные сообщения в определенные места назначения, такие как электронные письма или файлы.
Фильтры уровней и категорий комбинируются, т.е. будут обрабатываться только сообщения, удовлетворяющие обоим условиям фильтрации. Кроме того, вы можете указать $except для исключения сообщений определенных категорий.
Публичные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $behaviors | yii\base\Behavior[] | Список поведений, прикрепленных к этому компоненту | yii\base\Component |
| $categories | массив | Список категорий сообщений, которыми интересуется эта мишень. | yii\log\Target |
| $enabled | логическое | Включена ли эта мишень логов. | yii\log\Target |
| $except | массив | Список категорий сообщений, которыми эта мишень НЕ интересуется. | yii\log\Target |
| $exportInterval | целое число | Сколько сообщений должно быть накоплено перед экспортом. | yii\log\Target |
| $levels | целое число | Уровни сообщений, которыми интересуется эта мишень. | yii\log\Target |
| $logVars | массив | Список предопределенных переменных PHP, которые должны быть записаны в сообщении. | yii\log\Target |
| $messages | массив | Сообщения, полученные от регистратора до сих пор этой мишенью логов. | yii\log\Target |
| $prefix | вызываемый объект | Вызываемый объект PHP, возвращающий строку, которая будет префиксом к каждому экспортируемому сообщению. | yii\log\Target |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __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 |
| canGetProperty() | Возвращает значение, указывающее, можно ли считать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| className() | Возвращает полное имя этого класса. | yii\base\Object |
| collect() | Обрабатывает заданные сообщения журнала. | yii\log\Target |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. | yii\base\Component |
| export() | Экспортирует сообщения журнала $messages в определённый пункт назначения. | yii\log\Target |
| filterMessages() | Фильтрует заданные сообщения в соответствии с их категориями и уровнями. | yii\log\Target |
| formatMessage() | Форматирует сообщение журнала для отображения в виде строки. | yii\log\Target |
| getBehavior() | Возвращает объект поведения с указанным именем. | yii\base\Component |
| getBehaviors() | Возвращает все поведения, присоединённые к этому компоненту. | yii\base\Component |
| getLevels() | yii\log\Target | |
| getMessagePrefix() | Возвращает строку, которая должна быть префиксом к данному сообщению. | yii\log\Target |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчик, присоединённый к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует объект. | yii\base\Object |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| on() | Присоединяет обработчик событий к событию. | yii\base\Component |
| setLevels() | Устанавливает уровни сообщений, к которым этот целевой компонент проявляет интерес. | yii\log\Target |
| trigger() | Вызывает событие. | yii\base\Component |
Защищённые методы
| Метод | Описание | Определено в |
|---|---|---|
| getContextMessage() | Генерирует контекстную информацию для записи в журнал. | yii\log\Target |
Подробное описание свойств
$categories общедоступное свойство
Список категорий сообщений, к которым этот целевой компонент проявляет интерес. По умолчанию пусто, что означает все категории. Можно использовать звездочку в конце категории, чтобы сопоставить категории, имеющие одинаковый общий префикс. Например, 'yii\db*' будет соответствовать категориям, начинающимся с 'yii\db\', таким как 'yii\db\Connection'.
public array $categories = []
$enabled общедоступное свойство
Включить или отключить этот целевой компонент журнала. По умолчанию true.
public boolean $enabled = true
$except общедоступное свойство
Список категорий сообщений, к которым этот целевой компонент НЕ проявляет интереса. По умолчанию пусто, что означает отсутствие неинтересных сообщений. Если это свойство не пусто, то любая категория, указанная здесь, будет исключена из $categories. Можно использовать звездочку в конце категории, чтобы сопоставить категории, имеющие одинаковый общий префикс. Например, 'yii\db*' будет соответствовать категориям, начинающимся с 'yii\db\', таким как 'yii\db\Connection'.
См. также $categories.
public array $except = []
$exportInterval общедоступное свойство
Сколько сообщений должно быть накоплено перед их экспортом. По умолчанию 1000. Обратите внимание, что сообщения всегда будут экспортированы при завершении приложения. Установите это свойство в 0, если вы не хотите экспортировать сообщения до завершения приложения.
public integer $exportInterval = 1000
$levels общедоступное свойство
Уровни сообщений, к которым этот целевой компонент проявляет интерес. Это битовая маска значений уровней. По умолчанию 0, что означает все доступные уровни.
public integer getLevels ( )
public void setLevels ( $levels )
$logVars общедоступное свойство
Список предопределённых переменных PHP, которые должны быть записаны в сообщении. Обратите внимание, что переменная должна быть доступна через $GLOBALS. В противном случае она не будет записана.
По умолчанию ['_GET', '_POST', '_FILES', '_COOKIE', '_SESSION', '_SERVER'].
С версии 2.0.9 можно использовать дополнительный синтаксис: каждый элемент может быть указан как один из следующих:
-
var- будет записанаvar. -
var.key- будет записан только ключvar[key]. -
!var.key- ключvar[key]будет исключён.
См. также yii\helpers\ArrayHelper::filter().
public array $logVars = ['_GET', '_POST', '_FILES', '_COOKIE', '_SESSION', '_SERVER']
$messages общедоступное свойство
Сообщения, которые до сих пор получались из логгера этим целевым компонентом. Обратитесь к yii\log\Logger::$messages для получения подробной информации о структуре сообщения.
public array $messages = []
$prefix общедоступное свойство
Вызываемый объект PHP, который возвращает строку, которая должна быть префиксом к каждому экспортируемому сообщению.
Если не задано, будет использоваться getMessagePrefix(), которое добавляет в префикс сообщения контекстную информацию, такую как IP-адрес пользователя, идентификатор пользователя и идентификатор сеанса.
Подпись вызываемого объекта должна быть function ($message).
public callable $prefix = null
Подробное описание методов
collect() public method
Обрабатывает заданные сообщения журнала.
Этот метод отфильтрует заданные сообщения с помощью $levels и $categories. А при необходимости экспортирует результат фильтрации в определённый носитель (например, электронную почту).
| public void collect ( $messages, $final ) | ||
|---|---|---|
| $messages | array |
Сообщения журнала для обработки. Структура каждого сообщения см. в yii\log\Logger::$messages. |
| $final | boolean |
Является ли вызов этого метода вызовом в конце текущего приложения |
export() public abstract method
Экспортирует сообщения журнала $messages в определённое место назначения.
Дочерние классы должны реализовать этот метод.
| public abstract void export ( ) |
|---|
filterMessages() public static method
Фильтрует заданные сообщения в соответствии с их категориями и уровнями.
| public static array filterMessages ( $messages, $levels = 0, $categories = [], $except = [] ) | ||
|---|---|---|
| $messages | array |
Сообщения для фильтрации. Структура сообщения соответствует структуре в yii\log\Logger::$messages. |
| $levels | integer |
Уровни сообщений для фильтрации. Это битовая карта значений уровней. Значение 0 означает разрешение всех уровней. |
| $categories | array |
Категории сообщений для фильтрации. Если пусто, все категории разрешены. |
| $except | array |
Категории сообщений для исключения. Если пусто, все категории разрешены. |
| return | array |
Отфильтрованные сообщения. |
formatMessage() public method
Форматирует сообщение журнала для отображения в виде строки.
| public string formatMessage ( $message ) | ||
|---|---|---|
| $message | array |
Сообщение журнала, подлежащее форматированию. Структура сообщения соответствует структуре в yii\log\Logger::$messages. |
| return | string |
Отформатированное сообщение |
getContextMessage() protected method
Генерирует контекстную информацию для записи в журнал.
По умолчанию будет выводиться информация о пользователе, переменных системы и т.д.
| protected string getContextMessage ( ) | ||
|---|---|---|
| return | string |
Контекстная информация. Если пустая строка, значит контекстная информация отсутствует. |
getLevels() public method
| public integer getLevels ( ) | ||
|---|---|---|
| return | integer |
Уровни сообщений, которые интересуют этот целевой объект. Это битовая карта значений уровней. По умолчанию 0, что означает все доступные уровни. |
getMessagePrefix() public method
Возвращает строку, которая должна быть префиксом к заданному сообщению.
Если $prefix сконфигурирован, он вернёт результат вызова обратного вызова. По умолчанию возвращает IP пользователя, ID пользователя и ID сеанса в качестве префикса.
| public string getMessagePrefix ( $message ) | ||
|---|---|---|
| $message | array |
Экспортируемое сообщение. Структура сообщения соответствует структуре в yii\log\Logger::$messages. |
| return | string |
Строка префикса |
setLevels() public method
Устанавливает уровни сообщений, которые интересуют этот целевой объект.
Параметр может быть либо массивом интересующих имён уровней, либо целым числом, представляющим битовую карту интересующих значений уровней. Допустимые имена уровней включают: 'error', 'warning', 'info', 'trace' и 'profile'; допустимые значения уровней включают: yii\log\Logger::LEVEL_ERROR, yii\log\Logger::LEVEL_WARNING, yii\log\Logger::LEVEL_INFO, yii\log\Logger::LEVEL_TRACE и yii\log\Logger::LEVEL_PROFILE.
Например,
['error', 'warning'] // which is equivalent to: Logger::LEVEL_ERROR | Logger::LEVEL_WARNING
| public void setLevels ( $levels ) | ||
|---|---|---|
| $levels | array|integer |
Уровни сообщений, которые интересуют этот целевой объект. |
| throws | yii\base\InvalidConfigException |
если значение $levels неверно. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-log-target.html