thinkphp5+启用socketlog

参考文档  (https://github.com/luofei614/SocketLog)

1.找到thinkphp配置文件 config.php 修改log配置

//    'log'                    => [
//        // 日志记录方式,内置 file socket 支持扩展
//        'type'  => 'File',
//        // 日志保存目录
//        'path'  => LOG_PATH,
//        // 日志记录级别
//        'level' => [],
//    ],
    'log' =>  [
        'type'                => 'socket',
        'host'                => 'localhost',
        'optimize'            => true,       // 是否显示有利于程序优化的信息,如运行时间、吞吐率、消耗内存等,默认为 false
        'show_included_files' => true,       // 是否显示本次程序运行加载了哪些文件,默认为 false

        //日志强制记录到配置的client_id
        'force_client_ids'    => ['test'],
        //限制允许读取日志的client_id
        'allow_client_ids'    => ['test'],
    ],

2. 如果查看开启吞吐量,打开app_debug,或者修改代码,根据optimize来配置

\thinkphp\library\think\log\driver\Socket.php  

//        if (App::$debug) {
        if($this->config['optimize']){
            $runtime    = round(microtime(true) - THINK_START_TIME, 10);
            $reqs       = $runtime > 0 ? number_format(1 / $runtime, 2) : '∞';
            $time_str   = ' [运行时间:' . number_format($runtime, 6) . 's][吞吐率:' . $reqs . 'req/s]';
            $memory_use = number_format((memory_get_usage() - THINK_START_MEM) / 1024, 2);
            $memory_str = ' [内存消耗:' . $memory_use . 'kb]';
            $file_load  = ' [文件加载:' . count(get_included_files()) . ']';

            if (isset($_SERVER['HTTP_HOST'])) {
                $current_uri = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
            } else {
                $current_uri = 'cmd:' . implode(' ', $_SERVER['argv']);
            }
            // 基本信息
            $trace[] = [
                'type' => 'group',
                'msg'  => $current_uri . $time_str . $memory_str . $file_load,
                'css'  => $this->css['page'],
            ];
        }

3.下载node,并使用npm安装,并启动服务

##全局安装
$ npm install -g socketlog-server

##局部安装 (切换到目标项目所在目录)
$ npm install socketlog-server

  

## 普通方式运行:
$ socketlog-server

## 如果想让服务在后台运行:
$ socketlog-server > /dev/null &

 

4.安装chrome插件

gihub下载地址(https://github.com/luofei614/SocketLog)

然后将 chrome.crx 修改扩展名为 chrome.rar 并解压

打开浏览器地址栏并输入:chrome://extensions,打开最右角 开发者模式

最后点击 加载已解压的扩展程序,把解压后的chrome文件选中

 

5.使用,找到安装的扩展,打开

 

当显示链接成功,表示已经OK

 

6.代码中运用,跟thinkphp的log用法一致,例如

Log::record('测试日志','test');

 浏览器console中显示

 

posted @ 2021-08-12 16:44  叫我亚庆  阅读(211)  评论(0)    收藏  举报