mirror of
https://github.com/coaidev/coai.git
synced 2025-05-19 21:10:18 +09:00
50 lines
862 B
Go
50 lines
862 B
Go
package admin
|
|
|
|
import (
|
|
"chat/globals"
|
|
"chat/utils"
|
|
"fmt"
|
|
"github.com/gin-gonic/gin"
|
|
"strings"
|
|
)
|
|
|
|
type LogFile struct {
|
|
Path string `json:"path"`
|
|
Size int64 `json:"size"`
|
|
}
|
|
|
|
func ListLogs() []LogFile {
|
|
return utils.Each(utils.Walk("logs"), func(path string) LogFile {
|
|
return LogFile{
|
|
Path: strings.TrimLeft(path, "logs/"),
|
|
Size: utils.GetFileSize(path),
|
|
}
|
|
})
|
|
}
|
|
|
|
func getLogPath(path string) string {
|
|
return fmt.Sprintf("logs/%s", path)
|
|
}
|
|
|
|
func getBlobFile(c *gin.Context, path string) {
|
|
c.File(getLogPath(path))
|
|
}
|
|
|
|
func deleteLogFile(path string) error {
|
|
return utils.DeleteFile(getLogPath(path))
|
|
}
|
|
|
|
func getLatestLogs(n int) string {
|
|
if n <= 0 {
|
|
n = 100
|
|
}
|
|
|
|
content, err := utils.ReadFileLatestLines(getLogPath(globals.DefaultLoggerFile), n)
|
|
|
|
if err != nil {
|
|
return fmt.Sprintf("read error: %s", err.Error())
|
|
}
|
|
|
|
return content
|
|
}
|