ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
>[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, // 在写入时加独占锁 'writeLock' => false, ], ~~~ `logRotate` 全部常量明细: - mix\base\Log::ROTATE_HOUR - mix\base\Log::ROTATE_DAY - mix\base\Log::ROTATE_WEEKLY ## 日志类型 全部日志类型如下: - **debug**:调试日志 - **info**:信息日志 - **error**:错误日志 ## 日志文件 生成的日志文件默认在 `runtime/logs` 目录,也可以使用绝对路径定义为其他目录,日志文件格式如下: ~~~txt 文件前缀_轮转时间_[自增编号].log ~~~ ## 自定义日志 可以自定义输出日志到某个文件,`$message` 只能为字符型,且没有时间信息,需要用户自己封装将 array/object 转换为 json 字符型,然后增加时间信息。 ~~~ Log::write($filePrefix, $message) ~~~ ## 调试日志 ~~~ Log::debug($message); ~~~ ## 信息日志 ~~~ Log::info($message); ~~~ ## 写入错误日志 错误日志是被动的,当应用运行出现异常时框架自动记录。 ~~~ Log::error($message); ~~~ ## 日志记录级别 配置中的 `level` 字段设定了写入日志的级别,没有定义在里面的日志类型,不管是被动调用还是主动掉用,都不会写入到日志文件。 >[info] 日志记录级别对 write 方法无效。 ~~~ 'level' => ['error', 'info', 'debug'], ~~~ 例如:只记录错误日志,忽略其他类型的日志,配置如下: ~~~ 'level' => ['error'], ~~~