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「统一响应结构」)。 getListFiles在try/catch内捕获Exception并e.printStackTrace()后返回errcode=500、errmsg=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
请求参数¶
无。
请求示例¶
响应¶
结构:统一 Resource。
data:字符串(管理员用户 id)。
注:本端点无
try/catch,adminToken 无效时由鉴权过滤器直接返回 HTTP 401(无响应体);用户不存在时getUser()抛异常由 Spring 默认异常处理(HTTP 500,无统一Resource体)。
成功示例:
失败示例:2. 获取日志目录列表¶
按相对日志根目录的 path 列出其下子目录名与 .log 文件名(非 .log 后缀文件被忽略)。
- 接口类型:REST 资源
- 请求方式:
GET - 请求路径:
/listfiles(完整:{manager-context}/console/listfiles) - 鉴权:是
- Tag:Console
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| path | query | string | 否 | 相对日志根目录的子路径,缺省空串(列出日志根目录) |
请求示例¶
响应¶
结构:统一 Resource。
data:HashMap<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
}