發(fā)表日期:2018-12 文章編輯:小燈 瀏覽次數:3411
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服務 ,監(jiān)聽端口是1229 。socketlog-server > /dev/null &
client_id
: 在chrome瀏覽器中,可以設置插件的Client_ID
,Client_ID是你任意指定的字符串。
設置client_id
后能實現以下功能:
1,配置allow_client_ids
配置項,讓指定的瀏覽器才能獲得日志,這樣就可以把調試代碼帶上線。 普通用戶訪問不會觸發(fā)調試,不會發(fā)送日志。 開發(fā)人員訪問就能看的調試日志, 這樣利于找線上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。 網站有可能用了隊列,一些業(yè)務邏輯通過后臺腳本處理, 如果后臺腳本需要調試,你也可以將日志打印到瀏覽器的console中, 當然后臺腳本不和瀏覽器接觸,不知道當前觸發(fā)程序的是哪個瀏覽器,所以我們需要強制將日志打印到指定client_id
的瀏覽器上面。 我們在后臺腳本中使用SocketLog時設置force_client_ids
配置項指定要強制輸出瀏覽器的client_id
即可。
日期:2018-12 瀏覽次數:4937
日期:2018-12 瀏覽次數:5219
日期:2018-12 瀏覽次數:4295
日期:2018-12 瀏覽次數:3650
日期:2018-12 瀏覽次數:4045
日期:2018-12 瀏覽次數:3616
日期:2018-12 瀏覽次數:3661
日期:2018-12 瀏覽次數:6482
日期:2018-12 瀏覽次數:3423
日期:2018-12 瀏覽次數:3532
日期:2018-12 瀏覽次數:3652
日期:2018-12 瀏覽次數:4777
日期:2018-12 瀏覽次數:3166
日期:2018-12 瀏覽次數:3486
日期:2018-12 瀏覽次數:3294
日期:2018-12 瀏覽次數:3169
日期:2018-12 瀏覽次數:3549
日期:2018-12 瀏覽次數:3410
日期:2018-12 瀏覽次數:4505
日期:2018-12 瀏覽次數:3960
日期:2018-12 瀏覽次數:3478
日期:2018-12 瀏覽次數:4261
日期:2018-12 瀏覽次數:3261
日期:2018-12 瀏覽次數:3238
日期:2018-12 瀏覽次數:3200
日期:2018-12 瀏覽次數:3354
日期:2018-12 瀏覽次數:3647
日期:2018-12 瀏覽次數:3433
日期:2018-12 瀏覽次數:3375
日期:2018-12 瀏覽次數:3429
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.