ThinkPHP6.0 如何使用日志
2023-03-29 23:03:03
175
{{single.collect_count}}

日志遵循PSR-3规范,除非是实时写入的日志,其它日志都是在当前请求结束的时候统一写入的 所以不要在日志写入之后使用exit等中断操作会导致日志写入失败。

 一.写入日志的几种方法


        1.助手函数 trace

/** * 记录日志信息 * @param mixed$log log信息 支持字符串和数组 * @param string $level 日志级别(error/info/notice) * @return array|void */trace($log, $level); // 用法

 Notice:文件路径 访问的哪个模块下+log+月份+日期.log。

例如:

url: http://localhost/home/log/index

文件地址:/runtime/home/log/202208/24.log

      2.Log 类

俩种方法,都是系统在运行结束后自动调用Log::save() 统一进行日志信息写入

方法

描述

use think\facade\Log;

Log::record($msg, $level)

记录日志信息到内存,日志级别level 不写。默认info

Log::write($msg, $level)

实时写入一条日志信息

不同日志警告级别的方法:

Log::error('错误信息');

error

Log::info('日志信息');

info

 

二.如何将需要记录的日志单独记录到一个日志中

有时候需要将具体情况的日志统一记录到单一的类目中方便查看。比如支付日志,回调日志。可以使用通道解决方法。

1.日志通道channel

将配置不同的日志通道,将不同的日志记录到不同的日志中

使用方法:

Log::channel('pay')->info('支付日志');

配置日志文件config/log.php,加入不同的配置:

return [// 默认日志记录通道'default'=> env('log.channel', 'file'),// 日志记录级别'level'=> [],// 日志类型记录的通道 ['error'=>'email',...]'type_channel' => [],// 关闭全局日志写入'close'=> false,// 全局日志处理 支持闭包'processor'=> null,// 日志通道列表'channels' => ['file' => [// 日志记录方式'type' => 'File',// 日志保存目录'path' => '',// 单文件日志写入'single' => false,// 独立日志级别'apart_level'=> [],// 最大日志文件数量'max_files'=> 0,// 使用JSON格式记录'json' => false,// 日志处理'processor'=> null,// 关闭通道日志写入'close'=> false,// 日志输出格式化'format' => '[%s][%s] %s',// 是否实时写入'realtime_write' => false,],// 其它日志通道配置'pay' => ['type' => 'File','path' => app()->getRootPath().'runtime/pay', // 重点这个路径要写'time_format' => 'Y-m-d H:i:s','format' => '[%s][%s]:%s']],];

三.额外补充

1.日志时间格式化

 'time_format' =>'Y-m-d H:i:s',

四.联想到的东西

1.依赖注入

Facade 门面设计模式,为容器提交了一种静态调用的方法。静态调用非静态方法。让调用日志只要Log::write()

container 容器类为 facade提供支持

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}