socketlog的安装和使用 - 苏沛云 - 博客园

  1. socketlog的使用范围

    1. socketlog比较适用于ajax调试和api的调试,经典应用莫不过于微信众多的api使用调试,使用socketlog可以很条理清楚的查看到api传递的参数,加载的性能,错误调试等等方面,所以掌握socketlog的安装和使用对微信公众号开发等api型开发来说就正如常言道磨刀不误砍柴工
  2. socketlog 安装

    1. 客户端安装插件

        插件下载地址:https://github.com/luofei614/SocketLog

        浏览器安装插件:

        在chrome浏览器中地址栏中输入chrome://extensions/

        将下载文件中的chrome.crx拖入到窗口中即可完成插件安装

      2.服务器端安装nodejs

        (1)首先安装nodejs,在linux端的话,直接到 http://nodejs.cn/download/,选择对应的版本下载即可,然后用ftp将压缩包上传到服务器端

                                    

        (2)安装nodejs

?

1

2

3

4

5

6

7

8

9

10

#解压压缩包

tar -zxv -f node-v0.10.29-linux-x64.tar.gz

#修改目录

mv node-v0.10.29-linux-x64 node

#建立软连接(建议使用绝对路径,如使用相对路径,必须是相对本文件查找到目的文件的位置)

ln -s /home/node/bin/npm  /usr/local/bin/

ln -s /home/node/bin/node /usr/local/bin/

#测试成功

node -v

#如果出现版本即为安装成功

    3.服务器端socketlog的安装

    (1) 启用Websocket服务,该服务是nodejs写的,在server目录下,请先确保你的环境已经安装nodejs, 启动Websocket服务运行命令 node server/index.js , 将会在本地起一个websocket服务 ,监听端口是1229 (如果是阿里云服务器需要在安全组添加1229的规则)。如果想服务后台运行: nohup node server/index.js > /dev/null &  

  3.配置

(1)在服务器的入口文件需要加入引入代码

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

if`(!function_exists('slog')){`

include './php/slog.function.php'`;`

//配置

slog(`array`(

'host'                => 'localhost'`,`//websocket服务器地址,默认localhost

'optimize'            => true,`//是否显示利于优化的参数,如果运行时间,消耗内存等,默认为false`

'show_included_files' => true,`//是否显示本次程序运行加载了哪些文件,默认为false`

'error_handler'       => true,`//是否接管程序错误,将程序错误显示在console中,默认为false`

'force_client_ids'    => array`(`//日志强制记录到配置的client_id,默认为空,client_id必须在allow_client_ids中

'paint'`,`

//'client_02',

),

'allow_client_ids'    => array`(`//限制允许读取日志的client_id,默认为空,表示所有人都可以获得日志。

'paint'`,`

//'client_02',

//'client_03',

),

),`'config');//输出日志`

}

  设置client_id: 在chrome浏览器中,可以设置插件的Client_ID ,Client_ID是你任意指定的字符串。

  4.实现对数据库进行调试

    (1)SocketLog还能对sql语句进行调试,自动对sql语句进行explain分析,显示出有性能问题的sql语句

$link=mysql_connect( 'localhost:3306' , 'root' , '123456' , true ) ; mysql\_select\_db('kuaijianli',$link); $sql="SELECT * FROM `user`";
slog($sql,$link);

    (2)在tp框架中,只需要在/ThinkPHP/Library/Think/Db/Driver.class.php的 query 和execute 方法中

添加slog($this->queryStr,$this->_linkID)即可


Original url: Access
Created at: 2019-10-06 22:34:53
Category: default
Tags: none

请先后发表评论
  • 最新评论
  • 总共0条评论