Added a custom logger for dev and production.

This commit is contained in:
2026-05-01 08:16:33 +02:00
parent 6f9e37b69a
commit 5912e54bb9
4 changed files with 76 additions and 15 deletions
+9 -4
View File
@@ -2,6 +2,7 @@ package web
import (
"context"
"log/slog"
"net/http"
"nfeeder/internal/db"
@@ -12,15 +13,16 @@ var MAX_USER_SESSIONS = 3
type Server struct {
httpServer *http.Server
logger *slog.Logger
store *db.Store
jwtSecret []byte
}
func NewServer(store *db.Store, secret string) *Server {
func NewServer(store *db.Store, logger *slog.Logger, secret string) *Server {
s := &Server{
store: store,
// could extend this to something more generic
// will do if more fields needed
store: store,
logger: logger,
// could extend this to something more generic will do if more fields needed
jwtSecret: []byte(secret),
}
@@ -33,9 +35,12 @@ func NewServer(store *db.Store, secret string) *Server {
func (s *Server) Start(addr string) error {
s.httpServer.Addr = addr
s.logger.Info("server starting", "addr", addr)
return s.httpServer.ListenAndServe()
}
func (s *Server) Shutdown(ctx context.Context) error {
s.logger.Info("shutting down http server")
return s.httpServer.Shutdown(ctx)
}