feat: rm log code
This commit is contained in:
@@ -77,9 +77,6 @@ func BuildContainer() (*dig.Container, error) {
|
|||||||
if err := container.Provide(handler.NewServer); err != nil {
|
if err := container.Provide(handler.NewServer); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if err := container.Provide(handler.NewLogCleanupHandler); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if err := container.Provide(handler.NewCommonHandler); err != nil {
|
if err := container.Provide(handler.NewCommonHandler); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@@ -1,34 +0,0 @@
|
|||||||
package handler
|
|
||||||
|
|
||||||
import (
|
|
||||||
"gpt-load/internal/response"
|
|
||||||
"gpt-load/internal/services"
|
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
|
||||||
"github.com/sirupsen/logrus"
|
|
||||||
)
|
|
||||||
|
|
||||||
// LogCleanupHandler handles log cleanup related requests
|
|
||||||
type LogCleanupHandler struct {
|
|
||||||
LogCleanupService *services.LogCleanupService
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewLogCleanupHandler creates a new LogCleanupHandler
|
|
||||||
func NewLogCleanupHandler(s *services.LogCleanupService) *LogCleanupHandler {
|
|
||||||
return &LogCleanupHandler{
|
|
||||||
LogCleanupService: s,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// CleanupLogsNow handles the POST /api/logs/cleanup request.
|
|
||||||
// It triggers an asynchronous cleanup of expired request logs.
|
|
||||||
func (h *LogCleanupHandler) CleanupLogsNow(c *gin.Context) {
|
|
||||||
go func() {
|
|
||||||
logrus.Info("Asynchronous log cleanup started from API request")
|
|
||||||
h.LogCleanupService.CleanupNow()
|
|
||||||
}()
|
|
||||||
|
|
||||||
response.Success(c, gin.H{
|
|
||||||
"message": "Log cleanup process started in the background",
|
|
||||||
})
|
|
||||||
}
|
|
@@ -13,19 +13,6 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// GetLogs godoc
|
// GetLogs godoc
|
||||||
// @Summary Get request logs
|
|
||||||
// @Description Get request logs with pagination and filtering
|
|
||||||
// @Tags Logs
|
|
||||||
// @Accept json
|
|
||||||
// @Produce json
|
|
||||||
// @Param page query int false "Page number"
|
|
||||||
// @Param size query int false "Page size"
|
|
||||||
// @Param group_id query int false "Group ID"
|
|
||||||
// @Param start_time query string false "Start time (RFC3339)"
|
|
||||||
// @Param end_time query string false "End time (RFC3339)"
|
|
||||||
// @Param status_code query int false "Status code"
|
|
||||||
// @Success 200 {array} models.RequestLog
|
|
||||||
// @Router /api/logs [get]
|
|
||||||
func GetLogs(c *gin.Context) {
|
func GetLogs(c *gin.Context) {
|
||||||
page, _ := strconv.Atoi(c.DefaultQuery("page", "1"))
|
page, _ := strconv.Atoi(c.DefaultQuery("page", "1"))
|
||||||
size, _ := strconv.Atoi(c.DefaultQuery("size", "10"))
|
size, _ := strconv.Atoi(c.DefaultQuery("size", "10"))
|
||||||
|
@@ -39,7 +39,6 @@ func EmbedFolder(fsEmbed embed.FS, targetPath string) static.ServeFileSystem {
|
|||||||
func NewRouter(
|
func NewRouter(
|
||||||
serverHandler *handler.Server,
|
serverHandler *handler.Server,
|
||||||
proxyServer *proxy.ProxyServer,
|
proxyServer *proxy.ProxyServer,
|
||||||
logCleanupHandler *handler.LogCleanupHandler,
|
|
||||||
configManager types.ConfigManager,
|
configManager types.ConfigManager,
|
||||||
buildFS embed.FS,
|
buildFS embed.FS,
|
||||||
indexPage []byte,
|
indexPage []byte,
|
||||||
@@ -61,7 +60,7 @@ func NewRouter(
|
|||||||
|
|
||||||
// 注册路由
|
// 注册路由
|
||||||
registerSystemRoutes(router, serverHandler)
|
registerSystemRoutes(router, serverHandler)
|
||||||
registerAPIRoutes(router, serverHandler, logCleanupHandler, configManager)
|
registerAPIRoutes(router, serverHandler, configManager)
|
||||||
registerProxyRoutes(router, proxyServer, configManager)
|
registerProxyRoutes(router, proxyServer, configManager)
|
||||||
registerFrontendRoutes(router, buildFS, indexPage)
|
registerFrontendRoutes(router, buildFS, indexPage)
|
||||||
|
|
||||||
@@ -75,7 +74,7 @@ func registerSystemRoutes(router *gin.Engine, serverHandler *handler.Server) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// registerAPIRoutes 注册API路由
|
// registerAPIRoutes 注册API路由
|
||||||
func registerAPIRoutes(router *gin.Engine, serverHandler *handler.Server, logCleanupHandler *handler.LogCleanupHandler, configManager types.ConfigManager) {
|
func registerAPIRoutes(router *gin.Engine, serverHandler *handler.Server, configManager types.ConfigManager) {
|
||||||
api := router.Group("/api")
|
api := router.Group("/api")
|
||||||
authConfig := configManager.GetAuthConfig()
|
authConfig := configManager.GetAuthConfig()
|
||||||
|
|
||||||
@@ -85,7 +84,7 @@ func registerAPIRoutes(router *gin.Engine, serverHandler *handler.Server, logCle
|
|||||||
// 认证
|
// 认证
|
||||||
protectedAPI := api.Group("")
|
protectedAPI := api.Group("")
|
||||||
protectedAPI.Use(middleware.Auth(authConfig))
|
protectedAPI.Use(middleware.Auth(authConfig))
|
||||||
registerProtectedAPIRoutes(protectedAPI, serverHandler, logCleanupHandler)
|
registerProtectedAPIRoutes(protectedAPI, serverHandler)
|
||||||
}
|
}
|
||||||
|
|
||||||
// registerPublicAPIRoutes 公开API路由
|
// registerPublicAPIRoutes 公开API路由
|
||||||
@@ -94,7 +93,7 @@ func registerPublicAPIRoutes(api *gin.RouterGroup, serverHandler *handler.Server
|
|||||||
}
|
}
|
||||||
|
|
||||||
// registerProtectedAPIRoutes 认证API路由
|
// registerProtectedAPIRoutes 认证API路由
|
||||||
func registerProtectedAPIRoutes(api *gin.RouterGroup, serverHandler *handler.Server, logCleanupHandler *handler.LogCleanupHandler) {
|
func registerProtectedAPIRoutes(api *gin.RouterGroup, serverHandler *handler.Server) {
|
||||||
api.GET("/channel-types", serverHandler.CommonHandler.GetChannelTypes)
|
api.GET("/channel-types", serverHandler.CommonHandler.GetChannelTypes)
|
||||||
|
|
||||||
groups := api.Group("/groups")
|
groups := api.Group("/groups")
|
||||||
@@ -130,11 +129,7 @@ func registerProtectedAPIRoutes(api *gin.RouterGroup, serverHandler *handler.Ser
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 日志
|
// 日志
|
||||||
logs := api.Group("/logs")
|
api.GET("/logs", handler.GetLogs)
|
||||||
{
|
|
||||||
logs.GET("", handler.GetLogs)
|
|
||||||
logs.POST("/cleanup", logCleanupHandler.CleanupLogsNow)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 设置
|
// 设置
|
||||||
settings := api.Group("/settings")
|
settings := api.Group("/settings")
|
||||||
|
@@ -41,8 +41,7 @@ func (s *LogCleanupService) Stop() {
|
|||||||
|
|
||||||
// run 运行日志清理的主循环
|
// run 运行日志清理的主循环
|
||||||
func (s *LogCleanupService) run() {
|
func (s *LogCleanupService) run() {
|
||||||
// 每天凌晨2点执行清理任务
|
ticker := time.NewTicker(2 * time.Hour)
|
||||||
ticker := time.NewTicker(24 * time.Hour)
|
|
||||||
defer ticker.Stop()
|
defer ticker.Stop()
|
||||||
|
|
||||||
// 启动时先执行一次清理
|
// 启动时先执行一次清理
|
||||||
@@ -94,9 +93,3 @@ func (s *LogCleanupService) cleanupExpiredLogs() {
|
|||||||
logrus.Debug("No expired request logs found to cleanup")
|
logrus.Debug("No expired request logs found to cleanup")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// CleanupNow 立即执行一次日志清理
|
|
||||||
func (s *LogCleanupService) CleanupNow() {
|
|
||||||
logrus.Info("Manual log cleanup triggered")
|
|
||||||
s.cleanupExpiredLogs()
|
|
||||||
}
|
|
||||||
|
Reference in New Issue
Block a user