diff options
Diffstat (limited to 'web/server.go')
| -rw-r--r-- | web/server.go | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/web/server.go b/web/server.go index 121b197..59b5c2b 100644 --- a/web/server.go +++ b/web/server.go @@ -5,11 +5,12 @@ import ( "context" "errors" "html/template" - "log" + "log/slog" "net/http" "strings" "git.wilk.cx/cr-browser/registry" + "github.com/go-chi/httplog/v3" ) type RepositoryLister interface { @@ -64,7 +65,10 @@ func (s *Server) Handler() http.Handler { mux.HandleFunc("/", s.repositories) mux.HandleFunc("/r/{name...}", s.repository) - return mux + return httplog.RequestLogger(slog.Default(), &httplog.Options{ + Level: slog.LevelInfo, + Schema: httplog.SchemaECS.Concise(true), + })(mux) } func (s *Server) repositories(w http.ResponseWriter, r *http.Request) { @@ -81,7 +85,7 @@ func (s *Server) repositories(w http.ResponseWriter, r *http.Request) { repos, err := s.provider.Repositories(r.Context()) if err != nil { - log.Printf("fetch repositories: %v", err) + slog.Error("fetch repositories", "error", err) http.Error(w, "failed to fetch repositories", http.StatusBadGateway) return } @@ -94,7 +98,7 @@ func (s *Server) repositories(w http.ResponseWriter, r *http.Request) { var buf bytes.Buffer if err := s.tmpl.ExecuteTemplate(&buf, "repositories", data); err != nil { - log.Printf("render repositories: %v", err) + slog.Error("render repositories", "error", err) http.Error(w, "failed to render page", http.StatusInternalServerError) return } @@ -127,7 +131,7 @@ func (s *Server) repository(w http.ResponseWriter, r *http.Request) { return } - log.Printf("fetch repository: %v", err) + slog.Error("fetch repository", "error", err) http.Error(w, "failed to fetch repository", http.StatusBadGateway) return } @@ -140,7 +144,7 @@ func (s *Server) repository(w http.ResponseWriter, r *http.Request) { var buf bytes.Buffer if err := s.tmpl.ExecuteTemplate(&buf, "repository", data); err != nil { - log.Printf("render repository: %v", err) + slog.Error("render repository", "error", err) http.Error(w, "failed to render page", http.StatusInternalServerError) return } @@ -156,7 +160,7 @@ func (s *Server) manifest(w http.ResponseWriter, r *http.Request, repository, di http.NotFound(w, r) return } - log.Printf("fetch manifest: %v", err) + slog.Error("fetch manifest", "error", err) http.Error(w, "failed to fetch manifest", http.StatusBadGateway) return } @@ -171,7 +175,7 @@ func (s *Server) manifest(w http.ResponseWriter, r *http.Request, repository, di var buf bytes.Buffer if err := s.tmpl.ExecuteTemplate(&buf, "manifest", data); err != nil { - log.Printf("render manifest: %v", err) + slog.Error("render manifest", "error", err) http.Error(w, "failed to render page", http.StatusInternalServerError) return } |