系统运行时日志插件
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:* 权限。
标识与运行模式
| 项 | 值 |
|---|---|
| 插件 ID | mms.plugin.syslog |
| runtimeMode | HOST_MVC |
| hostServicesContractVersion | 1 |
| 入口类 | com.sxpcwlkj.plugin.syslog.SyslogPlugin |
前端联邦(plugin.json · frontend)
| 字段 | 说明 |
|---|---|
| modulePackage | mms_plugin_syslog_ui |
| routePrefixes | 含 /system/runtimeLog(与 mms-ui 菜单/路由协作) |
| remoteEntryFile | assets/remoteEntry.js |
打包带 Web 时:在 mms-plus 根先构建联邦产物,再使用 mms-plugin-syslog 的 fed-web profile(以该模块 pom.xml 为准)。
权限
控制器使用 SyslogPermissions 中定义的 plugin:syslog:* 码;须在 sys_function 中登记并分配给角色。
Demo:引入插件
- 构建 JAR(仅后端能力时可先用普通
package;若需联邦 UI,见模块fed-webprofile 与mms-ui/packages/plugin-syslog-ui):
cd mms-plugins/mms-plugin-syslog
mvn -DskipTests package插件市场 上传
target/mms-plugin-syslog-*.jar并激活;为角色分配plugin:syslog:list、plugin:syslog:tail、plugin:syslog:live(常量名以SyslogPermissions为准)。前端菜单 「运行时日志」 依赖
plugin.json→frontend.routePrefixes与 路由协议;若页面空白,确认联邦构建产物已打入 JAR 或 mms-ui 侧 remote 配置。
Demo:调用能力(HTTP)
为管理端接口根。HOST_MVC 前缀:/plugin/mms.plugin.syslog/syslog。
列举与 tail
GET {{apiBase}}/plugin/mms.plugin.syslog/syslog/files
Authorization: <token>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)。 - SSE:
GET .../syslog/live/stream?sinceSeq=0(Accept/mediaType以浏览器为准)。
本插件 未 将读写日志封装为 MmsPlugin 公有业务方法,一般不通过 invoke / tryInvokePeerPlugin 调用;集成请走 HTTP 或扩展源码。
健康与运维
- 健康:
PluginHealthContributor(以仓库 SPI 为准)。 GET /system/pluginHost/status:确认mms.plugin.syslog已加载。
