Hyperf日志查看组件

最近在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 协议》,转载必须注明作者和本文链接
失色天空
本帖由系统于 3年前 自动加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!