>[danger] 该组件为系统组件,在组件树中只可命名为 log ,不可修改为其他名称。 ## 日志 日志组件通常使用在开发环境中用来debug,生产环境中监控程序异常与运行状态。 | 类 | 调用 | | --- | --- | | mix\base\Log | app()->log | | 门面类 | 调用 | | --- | --- | | mix\facades\Log | Log:: | ## 数据库配置 App配置文件中,该组件的默认配置如下: ~~~ // 日志 'log' => [ // 类路径 'class' => 'mix\base\Log', // 日志记录级别 'level' => ['error', 'info', 'debug'], // 日志目录,可以使用绝对路径 'logDir' => 'logs', // 日志轮转类型 'logRotate' => mix\base\Log::ROTATE_DAY, // 最大文件尺寸 'maxFileSize' => 0, // 换行符 'newline' => PHP_EOL, ], ~~~ `logRotate` 全部常量明细: - mix\base\Log::ROTATE_HOUR - mix\base\Log::ROTATE_DAY - mix\base\Log::ROTATE_WEEKLY ## 日志类型 全部日志类型如下: - **debug**:调试日志 - **info**:信息日志 - **error**:错误日志 ## 日志文件 生成的日志文件在 `runtime` 目录,日志文件格式如下: >[info] 类型_轮转时间_[自增编号].log ## 写入调试日志 ~~~ Log::debug($message); ~~~ ## 写入信息日志 ~~~ Log::info($message); ~~~ ## 错误日志 错误日志是被动的,当应用运行出现异常时框架自动记录。 ~~~ Log::error($message); ~~~ ## 日志记录级别 配置中的 `level` 字段设定了写入日志的级别,没有定义在里面的日志类型,不管是被动调用还是主动掉用,都不会写入到日志文件。 ~~~ 'level' => ['error', 'info', 'debug'], ~~~ 例如:不需要记录错误日志,但需要记录在程序中主动调用的信息日志,配置如下: ~~~ 'level' => ['info'], ~~~