没有命名空间的类 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\Logger

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

Logger 如果设置了 $dispatcher,它将把日志消息记在内存并且发送到所设置的日志 $dispatcher

可以通过 Yii::getLogger() 获取 Logger 实例,并调用当前实例的 log() 方法去记录一条日志消息。 为了方便起见, Yii 类提供了一组用于记录各种级别消息的快捷方法。

有关于 Logger 的详细信息和使用方法,请参考权威指南的 Logger 章节。

当应用程序结束或者执行到 $flushInterval 时 Logger 将会自动调用 flush() 从而通过 $dispatcher 把消息记录到如 fileemail, 或者 database 不同的目标。

公共属性

隐藏继承的属性

属性类型描述被定义在
$behaviors yii\base\Behavior[] List of behaviors attached to this component yii\base\Component
$dbProfiling array 第一个元素表示执行的 SQL 语句的数量, 第二个元素是 SQL 执行花费的总时间。 yii\log\Logger
$dispatcher yii\log\Dispatcher 消息调度器。 yii\log\Logger
$elapsedTime float 当前请求的总耗时(以秒为单位)。 yii\log\Logger
$flushInterval integer 在从内存刷新并发送到目标之前,应该记录多少消息。 默认值 1000,这意味着每记录 1000 条消息,就会调用 flush() 方法一次。 如果此属性设置为 0,程序终止之前将不会刷新消息。 此属性主要影响日志消息将占用多少内存。 较小的值意味着占用更少的内存,但是由于 [[flush()] 的开销,会增加执行时间。 yii\log\Logger
$messages array 日志消息。该属性由 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. yii\log\Logger
$profiling array 分析的结果。每个元素都是由这些元素组成的数组: infocategorytimestamptraceleveldurationmemorymemoryDiff, 从版本 2. yii\log\Logger
$traceLevel integer 应该为每个消息记录多少调用堆栈信息(文件名和行号)。 如果大于 0,最多记录调用堆栈的数量。 注意,只计算应用程序调用的堆栈信息。 yii\log\Logger

公共方法

隐藏继承的方法

方法描述被定义在
__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\base\BaseObject
__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
calculateTimings() 计算给定日志消息的运行时间。 yii\log\Logger
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
ensureBehaviors() Makes sure that the behaviors declared in behaviors() are attached to this component. yii\base\Component
flush() 将消息从内存中发送到指定目标。 yii\log\Logger
getBehavior() Returns the named behavior object. yii\base\Component
getBehaviors() Returns all behaviors attached to this component. yii\base\Component
getDbProfiling() 返回数据库查询的统计结果。 返回的结果包括执行的 SQL 语句的数量和花费的总时间。 yii\log\Logger
getElapsedTime() 返回自当前请求开始以来经过的总时间。 该方法计算当前与在 yii\BaseYii 类文件常量 YII_BEGIN_TIME 定义的时间戳之间的差异。 yii\log\Logger
getLevelName() Returns 具体的等级文字描述。 yii\log\Logger
getProfiling() 返回分析结果。 yii\log\Logger
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() 通过注册 flush() 作为一个关闭函数进行初始化 logger。 yii\log\Logger
log() 使用给定的类型和类别记录消息。 如果 $traceLevel 是一个大于 0 的值, 有关应用程序代码的其他调用堆栈信息也将被记录。 yii\log\Logger
off() Detaches an existing event handler from this component. yii\base\Component
on() Attaches an event handler to an event. yii\base\Component
trigger() Triggers an event. yii\base\Component

常量

隐藏继承的常量

常量描述被定义在
LEVEL_ERROR 1 Error 消息等级。错误消息表示应用程序异常终止。 可能需要开发人员处理。 yii\log\Logger
LEVEL_INFO 4 Informational 消息等级。信息性消息是指包含特定信息的消息, 供开发人员评审。 yii\log\Logger
LEVEL_PROFILE 64 Profiling 消息等级。这表明消息是用于分析。 yii\log\Logger
LEVEL_PROFILE_BEGIN 80 Profiling 消息等级。这表明消息是用于分析目的的, 标志着分析块的开头。 yii\log\Logger
LEVEL_PROFILE_END 96 Profiling 消息等级。这表明消息是用于分析目的的, 标志着分析块的结束。 yii\log\Logger
LEVEL_TRACE 8 Tracing 消息等级。跟踪消息是揭示代码执行流的消息。 yii\log\Logger
LEVEL_WARNING 2 Warning 消息等级。警告消息是指一些异常发生, 但是应用程序能够继续运行,开发人员应该注意这个消息。 yii\log\Logger

属性详情

$dbProfiling 公共 只读 属性

第一个元素表示执行的 SQL 语句的数量, 第二个元素是 SQL 执行花费的总时间。

$dispatcher 公共 属性

消息调度器。

$elapsedTime 公共 只读 属性

当前请求的总耗时(以秒为单位)。

$flushInterval 公共 属性

在从内存刷新并发送到目标之前,应该记录多少消息。 默认值 1000,这意味着每记录 1000 条消息,就会调用 flush() 方法一次。 如果此属性设置为 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 公共 只读 属性

分析的结果。每个元素都是由这些元素组成的数组: infocategorytimestamptraceleveldurationmemorymemoryDiff, 从版本 2.0.11 起,添加 memorymemoryDiff 元素。

public array getProfiling ( $categories = [], $excludeCategories = [] )
$traceLevel 公共 属性

应该为每个消息记录多少调用堆栈信息(文件名和行号)。 如果大于 0,最多记录调用堆栈的数量。 注意,只计算应用程序调用的堆栈信息。

public integer $traceLevel 0

方法详情

calculateTimings() 公共 方法

计算给定日志消息的运行时间。

public array calculateTimings($messages)
$messages array

从分析中获得的日志消息

return array

Timings。每个元素都是由这些元素组成的数组: infocategorytimestamptraceleveldurationmemorymemoryDiff, 从版本 2.0.11 起,添加 memorymemoryDiff 元素。

flush() 公共 方法

将消息从内存中发送到指定目标。

public void flush($final false)
$final boolean

是否为请求期间的最终调用。

getDbProfiling() 公共 方法

返回数据库查询的统计结果。 返回的结果包括执行的 SQL 语句的数量和花费的总时间。

public array getDbProfiling()
return array

第一个元素表示执行的 SQL 语句的数量, 第二个元素是 SQL 执行花费的总时间。

getElapsedTime() 公共 方法

返回自当前请求开始以来经过的总时间。 该方法计算当前与在 yii\BaseYii 类文件常量 YII_BEGIN_TIME 定义的时间戳之间的差异。

public float getElapsedTime()
return float

当前请求的总耗时(以秒为单位)。

getLevelName() 公共 静态 方法

Returns 具体的等级文字描述。

public static string getLevelName($level)
$level integer

消息等级,如 LEVEL_ERRORLEVEL_WARNING

return string

返回当前等级的文字描述。

getProfiling() 公共 方法

返回分析结果。

默认情况下,将返回所有分析结果。你可以提供 $categories$excludeCategories 作为参数来获取 你需要关注的结果。

public array getProfiling($categories = [], $excludeCategories = [])
$categories array

您感兴趣的类别的列表。 您可以在类别的末尾使用星号来匹配前缀。 'yii\db*' 将匹配以 'yii\db\' 开头的类别, 例如 'yii\db\Connection'。

$excludeCategories array

要排除的类别的列表

return array

分析的结果。每个元素都是由这些元素组成的数组: infocategorytimestamptraceleveldurationmemorymemoryDiff, 从版本 2.0.11 起,添加 memorymemoryDiff 元素。

init() 公共 方法

通过注册 flush() 作为一个关闭函数进行初始化 logger。

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

使用给定的类型和类别记录消息。 如果 $traceLevel 是一个大于 0 的值, 有关应用程序代码的其他调用堆栈信息也将被记录。

public void log($message, $level, $category 'application')
$message string|array

要被记录的消息。它可以是一个简单的字符串或者一个复杂的数据结构并使用指定的 log target 进行处理。

$level integer

消息等级。必须是以下类型之一: Logger::LEVEL_ERRORLogger::LEVEL_WARNINGLogger::LEVEL_INFOLogger::LEVEL_TRACELogger::LEVEL_PROFILE_BEGINLogger::LEVEL_PROFILE_END

$category string

当前消息类型分类。