最近在Hyperf中需要用到使用路由線上檢視檔案日誌的功能,沒有發現比較好用的,自己簡單寫了一個,支援檢視和簡單的內容搜尋。
一、介面
先上效果圖:
二、使用
- 1.安裝元件
composer require sett/hyperf-log-viewer
- 2.釋出配置檔案
php bin/hyperf.php vendor:publish sett/hyperf-log-viewer
- 3.註冊路由
Router::get('/logs/list', [LogViewController::class, "index"]);
Router::post('/logs/delete', [LogViewController::class, "delete"]);
Router::get('/logs/download', [LogViewController::class, "download"]);
- 4.安裝view元件
composer require hyperf/view
- 5.安裝模板引擎
composer require sy-records/think-template
- 6.配置檢視
在config\autoload\viewe.php檔案中(如果不存在,自行建立),新增如下檢視配置
return [
'engine' => ThinkEngine::class,
'mode' => Mode::TASK,
'config' => [
// 若下列資料夾不存在請自行建立
'view_path' => BASE_PATH . '/storage/view/',
'cache_path' => BASE_PATH . '/runtime/view/',
],
];
- 7.配置元件引數
在config\autoload\logViewer.php檔案中,新增自己的日誌檔案目錄
return [
// 自定義, 比如runtime/logs/202011/ 需要定義成:"/runtime/logs/".date("Ym")."/"
"path" => BASE_PATH . "/runtime/logs/",
// 日誌檔案匹配規則
"pattern" => "*.log",
// 每頁展示的條數
"size" => 10
];
三、訪問
開啟自己的訪問地址ip:port/logs/list
就能看到日誌介面了
四、說明
- 日誌時間格式只支援年月日時分秒格式,否則可能看不到記錄,日誌格式大概是這樣
[2020-11-02 10:12:48] system.INFO: HTTP Server listening at 0.0.0.0:18310
[2020-11-02 14:52:50] system.ERROR: must implement interface
- 如果大家有什麼意見或者建議,歡迎留言。
本作品採用《CC 協議》,轉載必須註明作者和本文連結