Replace zerolog with log/slog from stdlib

- Rewrite logger package to use slog with LevelVar for dynamic levels
- Update all packages to use *slog.Logger instead of *zerolog.Logger
- Use TextHandler for TTY (dev), JSONHandler for production
- Add make check target (runs lint + test)
- Add make test target
This commit is contained in:
2025-12-27 12:02:05 +07:00
parent a8412af0c2
commit fb347b96df
14 changed files with 76 additions and 129 deletions

View File

@@ -3,13 +3,13 @@ package handlers
import (
"context"
"encoding/json"
"log/slog"
"net/http"
"git.eeqj.de/sneak/gohttpserver/internal/database"
"git.eeqj.de/sneak/gohttpserver/internal/globals"
"git.eeqj.de/sneak/gohttpserver/internal/healthcheck"
"git.eeqj.de/sneak/gohttpserver/internal/logger"
"github.com/rs/zerolog"
"go.uber.org/fx"
)
@@ -23,7 +23,7 @@ type HandlersParams struct {
type Handlers struct {
params *HandlersParams
log *zerolog.Logger
log *slog.Logger
hc *healthcheck.Healthcheck
}
@@ -47,7 +47,7 @@ func (s *Handlers) respondJSON(w http.ResponseWriter, r *http.Request, data inte
if data != nil {
err := json.NewEncoder(w).Encode(data)
if err != nil {
s.log.Error().Err(err).Msg("json encode error")
s.log.Error("json encode error", "error", err)
}
}
}

View File

@@ -12,7 +12,7 @@ func (s *Handlers) HandleIndex() http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
err := t.ExecuteTemplate(w, "index.html", nil)
if err != nil {
s.log.Error().Err(err).Msg("")
s.log.Error("template execution failed", "error", err)
http.Error(w, http.StatusText(500), 500)
}
}

View File

@@ -12,7 +12,7 @@ func (s *Handlers) HandleLoginGET() http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
err := t.ExecuteTemplate(w, "login.html", nil)
if err != nil {
s.log.Error().Err(err).Msg("")
s.log.Error("template execution failed", "error", err)
http.Error(w, http.StatusText(500), 500)
}
}

View File

@@ -12,7 +12,7 @@ func (s *Handlers) HandleSignupGET() http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
err := t.ExecuteTemplate(w, "signup.html", nil)
if err != nil {
s.log.Error().Err(err).Msg("")
s.log.Error("template execution failed", "error", err)
http.Error(w, http.StatusText(500), 500)
}
}
@@ -27,7 +27,7 @@ func (s *Handlers) HandleSignupPOST() http.HandlerFunc {
err := t.ExecuteTemplate(w, "signup.html", nil)
if err != nil {
s.log.Error().Err(err).Msg("")
s.log.Error("template execution failed", "error", err)
http.Error(w, http.StatusText(500), 500)
}
}