Skip to content

系统运行时日志插件

Maven 模块:mms-plugin-syslog。在管理端提供 ${user.dir}/logs.log 文件列举、尾部读取、内存环形缓冲与 SSE 等能力;可选 Module Federation 前端 plugin-syslog-ui

白话理解

装好后在「系统管理 → 运行时日志」里看 logs 目录下的 .log(列目录、tail、实时流);接口形态是标准 HOST_MVC:路径前拼接 /plugin/mms.plugin.syslog/...,并需 plugin:syslog:* 权限。

标识与运行模式

插件 IDmms.plugin.syslog
runtimeModeHOST_MVC
hostServicesContractVersion1
入口类com.sxpcwlkj.plugin.syslog.SyslogPlugin

前端联邦(plugin.json · frontend

字段说明
modulePackagemms_plugin_syslog_ui
routePrefixes/system/runtimeLog(与 mms-ui 菜单/路由协作)
remoteEntryFileassets/remoteEntry.js

打包带 Web 时:在 mms-plus 根先构建联邦产物,再使用 mms-plugin-syslogfed-web profile(以该模块 pom.xml 为准)。

权限

控制器使用 SyslogPermissions 中定义的 plugin:syslog:* 码;须在 sys_function 中登记并分配给角色。

Demo:引入插件

  1. 构建 JAR(仅后端能力时可先用普通 package;若需联邦 UI,见模块 fed-web profilemms-ui/packages/plugin-syslog-ui):
bash
cd mms-plugins/mms-plugin-syslog
mvn -DskipTests package
  1. 插件市场 上传 target/mms-plugin-syslog-*.jar 并激活;为角色分配 plugin:syslog:listplugin:syslog:tailplugin:syslog:live(常量名以 SyslogPermissions 为准)。

  2. 前端菜单 「运行时日志」 依赖 plugin.jsonfrontend.routePrefixes路由协议;若页面空白,确认联邦构建产物已打入 JAR 或 mms-ui 侧 remote 配置。

Demo:调用能力(HTTP)

为管理端接口根。HOST_MVC 前缀:/plugin/mms.plugin.syslog/syslog

列举与 tail

http
GET {{apiBase}}/plugin/mms.plugin.syslog/syslog/files
Authorization: <token>
http
GET {{apiBase}}/plugin/mms.plugin.syslog/syslog/tail?file=admin.log&maxBytes=131072
Authorization: <token>

环形缓冲轮询 / SSE

  • 轮询GET .../syslog/live/poll?sinceSeq=0(权限需 plugin:syslog:live)。
  • SSEGET .../syslog/live/stream?sinceSeq=0Accept/mediaType 以浏览器为准)。

本插件 将读写日志封装为 MmsPlugin 公有业务方法,一般不通过 invoke / tryInvokePeerPlugin 调用;集成请走 HTTP 或扩展源码。

健康与运维

  • 健康:PluginHealthContributor(以仓库 SPI 为准)。
  • GET /system/pluginHost/status:确认 mms.plugin.syslog 已加载。

参见

Released under the MIT License.