ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# 日志处理 日志记录和写入由`\lib\Log`类完成,通常我们使用`lib\facade\Log`类进行静态调用,日志使用monolog文件方式记录,其他方式请自行扩展 > 日志遵循`PSR-3`规范 ## 日志配置 日志的配置文件是配置文件目录下的`log.php`文件,系统在进行日志写入之前会读取该配置文件进行初始化。 日志的全局配置参数 下面是一个`log.php`配置示例: ~~~ // +---------------------------------------------------------------------- // | 日志设置 // +---------------------------------------------------------------------- return [ // 日志保存目录 'path' => '', // 日志通道名 'channel' => 'app', // 日志记录级别 'level' => 'debug', // 最大日志保留天数,超过删除 0无限制 'max_files' => 0, // 文件权限 'file_permission' => 0666, // 是否关闭日志写入 'close' => false, ]; ~~~ 。 ## 日志写入 ### 手动记录 一般情况下,系统的日志记录是自动的,无需手动记录,但是某些时候也需要手动记录日志信息,Log类提供了3个方法用于记录日志。 | 方法 | 描述 | | --- | --- | | record() | 记录日志信息到内存 | ~~~ /** * 记录日志信息 * @access public * @param mixed $message 日志信息 * @param string $level 日志级别 * @param array $context 替换内容 * @param string $fileName 文件名 * @return $this */ public function record($message, $level = 'info', array $context = [],$fileName = '') ~~~ record方法用法如下: ~~~ Log::record('测试日志信息'); ~~~ 默认记录的日志级别是`info`,也可以指定日志级别: ~~~ Log::record('测试日志信息','notice',['id' => 1]); ~~~ ### 日志级别 对系统的日志按照级别来分类记录,按照`PSR-3`日志规范,日志的级别从低到高依次为:`debug`,`info`,`notice`,`warning`,`error`,`critical`,`alert`,`emergency` > 系统发生异常后记录的日志级别是`error` 系统提供了不同日志级别的快速记录方法,例如: ~~~ Log::error('错误信息'); Log::info('日志信息'); // 和下面的用法等效 Log::record('错误信息','error'); Log::record('日志信息','info'); Log::debug('调试信息'); Log::notice('调试信息'); Log::warning('调试信息'); ~~~ 示例 指定文件名 Log::info Log::notice 可以指定文件名 ~~~ Log::info('支付记录',$data,'pay'); ~~~ 生成的日志文件如 pay-info-2020-09-10.log