From 996840205417820e3928b724b20bfed152048fda Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Sat, 2 Nov 2024 20:11:32 +0200 Subject: feat(server): add --stdout flag to also print logs to stdout --- cmd/server/main.go | 13 +++++++++++-- internal/server/server.go | 2 +- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/cmd/server/main.go b/cmd/server/main.go index 0552c41..2f83b48 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -2,6 +2,8 @@ package main import ( "context" + "flag" + "io" "log" "os" "os/signal" @@ -14,12 +16,20 @@ import ( const port = 7223 func main() { + stdout := flag.Bool("stdout", false, "enable logging to stdout") + flag.Parse() + logFile, err := os.OpenFile("logs/server.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0666) if err != nil { log.Fatalln(err) } defer logFile.Close() - log.SetOutput(logFile) + + if *stdout { + log.SetOutput(io.MultiWriter(logFile, os.Stdout)) + } else { + log.SetOutput(logFile) + } api.ConnectToDatabase() defer api.CloseDatabase() @@ -37,4 +47,3 @@ func main() { server.ListenAndServe(ctx) } - diff --git a/internal/server/server.go b/internal/server/server.go index 1b8dccb..09f46e4 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -281,7 +281,7 @@ func processPacket(ctx context.Context, pkt packet.Packet) packet.Packet { } assert.NotNil(response, "response must always be assigned to") - log.Println(session.Addr(), "sending ", response.Type(), "response:", response) + log.Println(session.Addr(), "sending", response.Type(), "response:", response) return packet.NewPacket(packet.NewMsgPackEncoder(response)) } -- cgit v1.3.1