From 21b4d14a2f6eb88ea3e05646794b802ac6d5a90c Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Sun, 6 Jul 2025 15:04:08 +0300 Subject: Fixed issues with timeout() function on the server and added automatic log rotation every midnight (if the server is running at that time) --- cmd/server/main.go | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'cmd') diff --git a/cmd/server/main.go b/cmd/server/main.go index ac2b91d..c5d11a8 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -9,6 +9,7 @@ import ( "os/signal" "path/filepath" "syscall" + "time" "github.com/kyren223/eko/internal/server" "github.com/kyren223/eko/internal/server/api" @@ -61,8 +62,8 @@ func setupLogging() { rotator := &lumberjack.Logger{ Filename: filepath.Join(logDir, "server.log"), - MaxSize: 1, // megabytes TODO: switch this to a more reasonable size (100?) - MaxAge: 28, // days + MaxSize: 100, // megabytes + MaxAge: 28, // days } level := slog.LevelDebug @@ -78,4 +79,14 @@ func setupLogging() { logger := slog.New(handler) slog.SetDefault(logger) slog.SetLogLoggerLevel(level) // TODO: remove me after fully migrating to slog + + go func() { + for { + now := time.Now() + next := now.Truncate(24 * time.Hour).Add(24 * time.Hour) + time.Sleep(time.Until(next)) // sleep until next midnight + + rotator.Rotate() + } + }() } -- cgit v1.3.1