Hyperf日誌檢視元件

失色天空發表於2020-08-30

最近在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 協議》,轉載必須註明作者和本文連結
失色天空

相關文章