From 1ee8d947899717b3507a3153d18c43bc02cdfff2 Mon Sep 17 00:00:00 2001 From: LordMathis Date: Thu, 12 Dec 2024 21:06:15 +0100 Subject: [PATCH] Add logger to server --- server/internal/app/options.go | 9 +++++++++ server/internal/app/server.go | 6 ++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/server/internal/app/options.go b/server/internal/app/options.go index 21a8fa5..40c8bb7 100644 --- a/server/internal/app/options.go +++ b/server/internal/app/options.go @@ -3,6 +3,7 @@ package app import ( "novamd/internal/auth" "novamd/internal/db" + "novamd/internal/logging" "novamd/internal/storage" ) @@ -11,6 +12,7 @@ type Options struct { Config *Config Database db.Database Storage storage.Manager + Logger logging.Logger JWTManager auth.JWTManager SessionManager auth.SessionManager CookieService auth.CookieManager @@ -33,6 +35,12 @@ func DefaultOptions(cfg *Config) (*Options, error) { // Initialize storage storageManager := storage.NewService(cfg.WorkDir) + // Initialize logger + logger, err := logging.New(cfg.LogDir, cfg.LogLevel, cfg.ConsoleOutput) + if err != nil { + return nil, err + } + // Initialize auth services jwtManager, sessionService, cookieService, err := initAuth(cfg, database) if err != nil { @@ -48,6 +56,7 @@ func DefaultOptions(cfg *Config) (*Options, error) { Config: cfg, Database: database, Storage: storageManager, + Logger: logger, JWTManager: jwtManager, SessionManager: sessionService, CookieService: cookieService, diff --git a/server/internal/app/server.go b/server/internal/app/server.go index adb381e..d9166a1 100644 --- a/server/internal/app/server.go +++ b/server/internal/app/server.go @@ -1,7 +1,7 @@ package app import ( - "log" + "log/slog" "net/http" "github.com/go-chi/chi/v5" @@ -11,6 +11,7 @@ import ( type Server struct { router *chi.Mux options *Options + logger *slog.Logger } // NewServer creates a new server instance with the given options @@ -18,6 +19,7 @@ func NewServer(options *Options) *Server { return &Server{ router: setupRouter(*options), options: options, + logger: options.Logger.App(), } } @@ -25,7 +27,7 @@ func NewServer(options *Options) *Server { func (s *Server) Start() error { // Start server addr := ":" + s.options.Config.Port - log.Printf("Server starting on port %s", s.options.Config.Port) + s.logger.Info("Starting server", "address", addr) return http.ListenAndServe(addr, s.router) }