跳转至

LogConsoleController(日志控制台)

为管理控制台「日志查看器」前端提供支撑:返回当前登录的管理员用户 id;列出指定子目录下的子目录名与 .log 文件名清单,供前端按目录树展开浏览服务器日志。

  • 类级基址${myapps.context-path.manager:}/console(完整路径:{manager-context}/console<相对路径>
  • Tag:Console(源码 Swagger v2 @Api(tags = "Console"),未声明 v3 @Tag
  • 控制器源码obpm-manager/src/main/java/cn/myapps/manager/websocket/console/LogConsoleController.java
  • 公共说明
  • 类继承 BaseAuthTimeController,通过其 success(errmsg, data) / error(errcode, errmsg, errors) 返回统一 Resource(字段 errcode/errmsg/data/errors,结构见 ../index.md「统一响应结构」)。
  • getListFilestry/catch 内捕获 Exceptione.printStackTrace() 后返回 errcode=500errmsg=e.getMessage()data=null
  • 控制器位于 obpm-manager 工作树的 websocket.console 包,但**本身是同步 HTTP 控制器**(不参与 WebSocket 推送;SSE/WebSocket 推送由该包其他组件负责)。
  • 鉴权说明见 index.md「鉴权说明」(adminToken JWT)。/console/* **不在**鉴权白名单中,仍需 adminToken。

1. 获取用户 ID

返回当前登录管理员(由 BaseAuthTimeController.getUser() 解析 adminToken 得到)的用户 id。

  • 接口类型:REST 资源
  • 请求方式GET
  • 请求路径/userid(完整:{manager-context}/console/userid
  • 鉴权:是(需管理员 adminToken,详见 index.md「鉴权说明」)
  • Tag:Console

请求参数

无。

请求示例

GET /console/userid HTTP/1.1

响应

结构:统一 Resourcedata:字符串(管理员用户 id)。

注:本端点无 try/catch,adminToken 无效时由鉴权过滤器直接返回 HTTP 401(无响应体);用户不存在时 getUser() 抛异常由 Spring 默认异常处理(HTTP 500,无统一 Resource 体)。

成功示例

{ "errcode": 0, "errmsg": "ok", "data": "__ADM01", "errors": null }
失败示例
HTTP 401(adminToken 缺失或失效,无响应体)


2. 获取日志目录列表

按相对日志根目录的 path 列出其下子目录名与 .log 文件名(非 .log 后缀文件被忽略)。

  • 接口类型:REST 资源
  • 请求方式GET
  • 请求路径/listfiles(完整:{manager-context}/console/listfiles
  • 鉴权:是
  • Tag:Console

请求参数

参数名 位置 类型 必填 说明
path query string 相对日志根目录的子路径,缺省空串(列出日志根目录)

请求示例

GET /console/listfiles?path= HTTP/1.1

响应

结构:统一 ResourcedataHashMap<String, ArrayList<String>>,字段:

字段 类型 说明
dirs string[] 子目录名列表
files string[] .log 后缀文件名列表
条件 errcode errmsg data
成功 0 ok { "dirs": ["2026-08"], "files": ["obpm.log"] }
抛异常(如目录不存在) 500 <异常信息> null

成功示例

{
  "errcode": 0,
  "errmsg": "ok",
  "data": {
    "dirs": ["2026-08", "2026-07"],
    "files": ["obpm.log", "error.log"]
  },
  "errors": null
}
失败示例
{ "errcode": 500, "errmsg": "<异常信息>", "data": null, "errors": null }