From a1d4aa97d52f96863631f11509780e491591459e Mon Sep 17 00:00:00 2001 From: wolfcode <37436228+wolf-leo@users.noreply.github.com> Date: Wed, 9 Oct 2024 09:51:25 +0800 Subject: [PATCH] =?UTF-8?q?feat(log):=20=E6=96=B0=E5=A2=9E=E6=A1=86?= =?UTF-8?q?=E6=9E=B6=E6=97=A5=E5=BF=97=E6=9F=A5=E7=9C=8B=E5=99=A8=EF=BC=8C?= =?UTF-8?q?integrate=20log=20viewer=20and=20improve=20log=20management?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add log viewer functionality using wolf-leo/phplogviewer package - Implement log record feature in admin system - Update log table to include log record button - Configure default and common log modules in logviewer config Signed-off-by: wolfcode <37436228+wolf-leo@users.noreply.github.com> --- app/admin/controller/system/Log.php | 8 ++++++++ app/admin/view/system/log/index.html | 1 + composer.json | 3 ++- config/logviewer.php | 13 +++++++++++++ public/static/admin/js/system/log.js | 13 ++++++++++++- 5 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 config/logviewer.php diff --git a/app/admin/controller/system/Log.php b/app/admin/controller/system/Log.php index 3797a0a..95fc0c6 100644 --- a/app/admin/controller/system/Log.php +++ b/app/admin/controller/system/Log.php @@ -95,4 +95,12 @@ class Log extends AdminController return Excel::exportData($list, $header, $fileName, 'xlsx'); } + /** + * @NodeAnnotation(title="框架日志") + */ + public function record(): string + { + return (new \Wolfcode\PhpLogviewer\thinkphp\LogViewer())->fetch(); + } + } \ No newline at end of file diff --git a/app/admin/view/system/log/index.html b/app/admin/view/system/log/index.html index fb1b2cc..db7edce 100644 --- a/app/admin/view/system/log/index.html +++ b/app/admin/view/system/log/index.html @@ -1,6 +1,7 @@
diff --git a/composer.json b/composer.json index 76e6d40..3f28188 100644 --- a/composer.json +++ b/composer.json @@ -36,7 +36,8 @@ "ext-json": "*", "qiniu/php-sdk": "v7.11.0", "ext-mysqli": "*", - "ext-pdo": "*" + "ext-pdo": "*", + "wolf-leo/phplogviewer": "^0.05.0" }, "require-dev": { "symfony/var-dumper": ">=4.2", diff --git a/config/logviewer.php b/config/logviewer.php new file mode 100644 index 0000000..5b40ac1 --- /dev/null +++ b/config/logviewer.php @@ -0,0 +1,13 @@ + 'admin', + + // 常用的日志应用模块 + 'modules' => [ + 'admin', + 'home', + 'index', + 'api' + ], +]; \ No newline at end of file diff --git a/public/static/admin/js/system/log.js b/public/static/admin/js/system/log.js index da61d52..7c24b6e 100644 --- a/public/static/admin/js/system/log.js +++ b/public/static/admin/js/system/log.js @@ -14,7 +14,18 @@ define(["jquery", "easy-admin"], function ($, ea) { ea.table.render({ init: init, lineStyle: 'height: auto;word-break: break-all;', - toolbar: ['refresh', 'export'], + toolbar: ['refresh', 'export', + [{ + text: '框架日志', + url: 'system.log/record', + method: 'open', + auth: 'record', + class: 'layui-btn layui-btn-sm', + icon: 'fa fa-book', + extend: 'data-width="95%" data-height="95%"' + }, + ] + ], cols: [[ {field: 'id', width: 80, title: 'ID', search: false}, {field: 'month', width: 80, title: '日志月份', hide: true, search: 'time', timeType: 'month', searchValue: util.toDateString(new Date(), 'yyyy-MM')},