没有命名空间的类 yii yii\base yii\behaviors yii\caching yii\captcha yii\console yii\console\controllers yii\console\widgets yii\data yii\db yii\db\conditions yii\db\cubrid yii\db\cubrid\conditions yii\db\mssql yii\db\mssql\conditions yii\db\mysql yii\db\oci yii\db\oci\conditions yii\db\pgsql yii\db\sqlite yii\db\sqlite\conditions yii\di yii\filters yii\filters\auth yii\grid yii\helpers yii\i18n yii\log yii\mail yii\mutex yii\rbac yii\rest yii\test yii\validators yii\web yii\widgets

Class yii\log\Dispatcher

继承yii\log\Dispatcher » yii\base\Component » yii\base\BaseObject
实现yii\base\Configurable
可用版本自2.0
源码 https://github.com/yiichina/yii2/blob/api/framework/log/Dispatcher.php

Dispatcher 管理一组 log targets

Dispatcher 实现方法 dispatch() 将日志消息从 yii\log\Logger 转发到 $targets

Dispatcher 的一个实例被注册为核心应用程序组件,可以使用 Yii::$app->log 进行访问。

您可以在应用程序配置中配置目标,如下所示:

[
    'components' => [
        'log' => [
            'targets' => [
                'file' => [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['trace', 'info'],
                    'categories' => ['yii\*'],
                ],
                'email' => [
                    'class' => 'yii\log\EmailTarget',
                    'levels' => ['error', 'warning'],
                    'message' => [
                        'to' => 'admin@example.com',
                    ],
                ],
            ],
        ],
    ],
]

每个日志目标都可以有一个名称,可以通过 $targets 属性引用,如下所示:

Yii::$app->log->targets['file']->enabled = false;

公共属性

隐藏继承的属性

属性类型描述被定义在
$behaviors yii\base\Behavior[] List of behaviors attached to this component yii\base\Component
$flushInterval integer 记录多少消息后才将消息发送到目标。 此方法返回 yii\log\Logger::$flushInterval 的值。 yii\log\Dispatcher
$logger yii\log\Logger 记录器 yii\log\Dispatcher
$targets array|yii\log\Target[] 日志目标。 每个数组元素表示一个 log target 实例或用于创建日志目标实例的配置。 yii\log\Dispatcher
$traceLevel integer 每个消息应记录多少应用程序调用堆栈。 此方法返回 yii\log\Logger::$traceLevel 的值。默认为 0。 yii\log\Dispatcher

公共方法

隐藏继承的方法

方法描述被定义在
__call() Calls the named method which is not a class method. yii\base\Component
__clone() This method is called after the object is created by cloning an existing one. yii\base\Component
__construct() Constructor. yii\log\Dispatcher
__get() Returns the value of a component property. yii\base\Component
__isset() Checks if a property is set, i.e. defined and not null. yii\base\Component
__set() Sets the value of a component property. yii\base\Component
__unset() Sets a component property to be null. yii\base\Component
attachBehavior() Attaches a behavior to this component. yii\base\Component
attachBehaviors() Attaches a list of behaviors to the component. yii\base\Component
behaviors() Returns a list of behaviors that this component should behave as. yii\base\Component
canGetProperty() Returns a value indicating whether a property can be read. yii\base\Component
canSetProperty() Returns a value indicating whether a property can be set. yii\base\Component
className() Returns the fully qualified name of this class. yii\base\BaseObject
detachBehavior() Detaches a behavior from the component. yii\base\Component
detachBehaviors() Detaches all behaviors from the component. yii\base\Component
dispatch() 将记录的消息调度到 $targets yii\log\Dispatcher
ensureBehaviors() Makes sure that the behaviors declared in behaviors() are attached to this component. yii\base\Component
getBehavior() Returns the named behavior object. yii\base\Component
getBehaviors() Returns all behaviors attached to this component. yii\base\Component
getFlushInterval() yii\log\Dispatcher
getLogger() 获取连接的记录器。 如果未设置,将使用 Yii::getLogger() yii\log\Dispatcher
getTraceLevel() yii\log\Dispatcher
hasEventHandlers() Returns a value indicating whether there is any handler attached to the named event. yii\base\Component
hasMethod() Returns a value indicating whether a method is defined. yii\base\Component
hasProperty() Returns a value indicating whether a property is defined for this component. yii\base\Component
init() Initializes the object. yii\log\Dispatcher
off() Detaches an existing event handler from this component. yii\base\Component
on() Attaches an event handler to an event. yii\base\Component
setFlushInterval() yii\log\Dispatcher
setLogger() 设置连接的记录器。 yii\log\Dispatcher
setTraceLevel() yii\log\Dispatcher
trigger() Triggers an event. yii\base\Component

属性详情

$flushInterval 公共 属性

记录多少消息后才将消息发送到目标。 此方法返回 yii\log\Logger::$flushInterval 的值。

public integer getFlushInterval ( )
public void setFlushInterval ( $value )
$logger 公共 属性

记录器

public yii\log\Logger getLogger ( )
public void setLogger ( $value )
$targets 公共 属性

日志目标。 每个数组元素表示一个 log target 实例或用于创建日志目标实例的配置。

$traceLevel 公共 属性

每个消息应记录多少应用程序调用堆栈。 此方法返回 yii\log\Logger::$traceLevel 的值。默认为 0。

public integer getTraceLevel ( )
public void setTraceLevel ( $value )

方法详情

__construct() 公共 方法

Constructor.

The default implementation does two things:

  • Initializes the object with the given configuration $config.
  • Call init().

If this method is overridden in a child class, it is recommended that

  • the last parameter of the constructor is a configuration array, like $config here.
  • call the parent implementation at the end of the constructor.
public void __construct($config = [])
$config array

Name-value pairs that will be used to initialize the object properties

dispatch() 公共 方法

将记录的消息调度到 $targets

public void dispatch($messages, $final)
$messages array

记录的消息

$final boolean

是否在当前应用程序结束时调用此方法

getFlushInterval() 公共 方法

public integer getFlushInterval()
return integer

记录多少消息后才将消息发送到目标。 此方法返回 yii\log\Logger::$flushInterval 的值。

getLogger() 公共 方法

获取连接的记录器。 如果未设置,将使用 Yii::getLogger()

public yii\log\Logger getLogger()
return yii\log\Logger

记录器

getTraceLevel() 公共 方法

public integer getTraceLevel()
return integer

每个消息应记录多少应用程序调用堆栈。 此方法返回 yii\log\Logger::$traceLevel 的值。默认为 0。

init() 公共 方法

Initializes the object.

This method is invoked at the end of the constructor after the object is initialized with the given configuration.

public void init()
setFlushInterval() 公共 方法

public void setFlushInterval($value)
$value integer

记录多少消息后才将消息发送到目标。 此方法设置 yii\log\Logger::$flushInterval 的值。 默认为 1000,表示每 1000 条消息执行一次 yii\log\Logger::flush() 方法。 如果您不希望在应用程序终止之前发送消息,请将此属性设置为 0。 此属性主要影响记录消息占用的内存量。 值越小意味着内存越少,但由于更加频繁的执行 yii\log\Logger::flush(),会增加执行时间。

setLogger() 公共 方法

设置连接的记录器。

public void setLogger($value)
$value yii\log\Logger|string|array

要使用的记录器。 这可以是记录器实例,也可以是用于使用 Yii::createObject() 创建一个的配置。

setTraceLevel() 公共 方法

public void setTraceLevel($value)
$value integer

每个消息应记录多少应用程序调用堆栈。 此方法将设置 yii\log\Logger::$traceLevel 的值。如果该值大于 0,表示将记录该调用堆栈的最大数量。 请注意,只计算应用程序调用堆栈。 默认为 0。