發表日期:2018-12 文章編輯:小燈 瀏覽次數:3454
ThinkPHP5.0
版本開始,提供了Socket
日志驅動用于本地和遠程調試。
只需要在配置文件中設置如下:
'log' =>['type'=> 'socket','host'=> 'slog.thinkphp.cn',//日志強制記錄到配置的client_id'force_client_ids'=> [],//限制允許讀取日志的client_id'allow_client_ids'=> [],]
上面的host配置地址是官方提供的公用服務端,首先需要去申請client_id。
使用Chrome瀏覽器運行后,打開審查元素->Console
,可以看到如下所示:
SocketLog
通過websocket
將調試日志打印到瀏覽器的console
中。你還可以用它來分析開源程序,分析SQL性能,結合taint分析程序漏洞。
SocketLog
首先需要安裝chrome
插件,Chrome插件安裝頁面(需翻墻)
npm install -g socketlog-server
, 運行命令socketlog-server
即可啟動服務。 將會在本地起一個websocket服務 ,監聽端口是1229 。socketlog-server > /dev/null &
client_id
: 在chrome瀏覽器中,可以設置插件的Client_ID
,Client_ID是你任意指定的字符串。
設置client_id
后能實現以下功能:
1,配置allow_client_ids
配置項,讓指定的瀏覽器才能獲得日志,這樣就可以把調試代碼帶上線。 普通用戶訪問不會觸發調試,不會發送日志。 開發人員訪問就能看的調試日志, 這樣利于找線上bug。Client_ID建議設置為姓名拼音加上隨機字符串,這樣如果有員工離職可以將其對應的client_id
從配置項allow_client_ids中移除。client_id
除了姓名拼音,加上隨機字符串的目的,以防別人根據你公司員工姓名猜測出client_id
,獲取線上的調試日志。
設置allow_client_ids示例代碼:
'allow_client_ids'=>['thinkphp_zfH5NbLn','luofei_DJq0z80H'],
2, 設置force_client_ids
配置項,讓后臺腳本也能輸出日志到chrome。 網站有可能用了隊列,一些業務邏輯通過后臺腳本處理, 如果后臺腳本需要調試,你也可以將日志打印到瀏覽器的console中, 當然后臺腳本不和瀏覽器接觸,不知道當前觸發程序的是哪個瀏覽器,所以我們需要強制將日志打印到指定client_id
的瀏覽器上面。 我們在后臺腳本中使用SocketLog時設置force_client_ids
配置項指定要強制輸出瀏覽器的client_id
即可。
日期:2018-12 瀏覽次數:4980
日期:2018-12 瀏覽次數:5264
日期:2018-12 瀏覽次數:4343
日期:2018-12 瀏覽次數:3695
日期:2018-12 瀏覽次數:4102
日期:2018-12 瀏覽次數:3661
日期:2018-12 瀏覽次數:3702
日期:2018-12 瀏覽次數:6521
日期:2018-12 瀏覽次數:3476
日期:2018-12 瀏覽次數:3578
日期:2018-12 瀏覽次數:3706
日期:2018-12 瀏覽次數:4829
日期:2018-12 瀏覽次數:3214
日期:2018-12 瀏覽次數:3530
日期:2018-12 瀏覽次數:3332
日期:2018-12 瀏覽次數:3214
日期:2018-12 瀏覽次數:3587
日期:2018-12 瀏覽次數:3453
日期:2018-12 瀏覽次數:4553
日期:2018-12 瀏覽次數:4001
日期:2018-12 瀏覽次數:3515
日期:2018-12 瀏覽次數:4317
日期:2018-12 瀏覽次數:3299
日期:2018-12 瀏覽次數:3290
日期:2018-12 瀏覽次數:3246
日期:2018-12 瀏覽次數:3407
日期:2018-12 瀏覽次數:3691
日期:2018-12 瀏覽次數:3479
日期:2018-12 瀏覽次數:3411
日期:2018-12 瀏覽次數:3466
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.