// Package admin_base_log 定义服务器日志监控接口契约。 // // 路由前缀 /api/service/admin/base/log,对应 admin_menu 中的: // - POST /api/service/admin/base/log/files —— monitor:log:view(查看日志文件列表) // - POST /api/service/admin/base/log/tail —— monitor:log:tail(实时读取日志尾部) package admin_base_log import "github.com/gogf/gf/v2/frame/g" // LogFile 描述一个服务器日志文件。 type LogFile struct { Name string `json:"name"` // 文件名 Path string `json:"path"` // 文件绝对路径 Size int64 `json:"size"` // 文件大小(字节) ModTime string `json:"modTime"` // 最后修改时间 } // LogFilesReq 列出服务器日志文件。 type LogFilesReq struct { g.Meta `path:"/base/log/files" method:"post" tags:"Admin/Base/Log" summary:"日志文件列表"` } // LogFilesRes 是 LogFilesReq 的响应。 type LogFilesRes struct { Dir string `json:"dir"` // 日志目录 Files []*LogFile `json:"files"` // 文件列表 } // LogTailReq 读取日志文件尾部,支持关键字过滤。 type LogTailReq struct { g.Meta `path:"/base/log/tail" method:"post" tags:"Admin/Base/Log" summary:"读取日志尾部"` File string `json:"file" v:"required#日志文件名不能为空"` // 日志文件名(不含目录) Lines int `json:"lines" d:"200" v:"min:1|max:5000#行数必须在 1-5000 之间"` Keyword string `json:"keyword"` // 关键字过滤,为空则不过滤 } // LogTailRes 是 LogTailReq 的响应。 type LogTailRes struct { Lines []string `json:"lines"` // 日志行 }