mirror of
https://git.sr.ht/~sircmpwn/tokidoki
synced 2025-12-12 14:17:21 +01:00
Switch to a proper logging library
Structured logs can be enabled with `-log.json`.
This commit is contained in:
parent
03fce79e57
commit
40bae8dc31
9 changed files with 75 additions and 64 deletions
|
|
@ -5,7 +5,6 @@ import (
|
|||
"encoding/base64"
|
||||
"flag"
|
||||
"fmt"
|
||||
"log"
|
||||
"net/http"
|
||||
"os"
|
||||
|
||||
|
|
@ -14,9 +13,10 @@ import (
|
|||
"github.com/emersion/go-webdav/carddav"
|
||||
"github.com/go-chi/chi/v5"
|
||||
"github.com/go-chi/chi/v5/middleware"
|
||||
"github.com/rs/zerolog"
|
||||
"github.com/rs/zerolog/log"
|
||||
|
||||
"git.sr.ht/~sircmpwn/tokidoki/auth"
|
||||
"git.sr.ht/~sircmpwn/tokidoki/debug"
|
||||
"git.sr.ht/~sircmpwn/tokidoki/storage"
|
||||
)
|
||||
|
||||
|
|
@ -85,12 +85,15 @@ func main() {
|
|||
var (
|
||||
addr string
|
||||
authURL string
|
||||
debug bool
|
||||
jsonLog bool
|
||||
storageURL string
|
||||
)
|
||||
flag.StringVar(&addr, "addr", ":8080", "listening address")
|
||||
flag.StringVar(&authURL, "auth.url", "", "auth backend URL (required)")
|
||||
flag.StringVar(&storageURL, "storage.url", "", "storage backend URL (required)")
|
||||
flag.BoolVar(&debug.Enable, "debug", false, "enable debug output")
|
||||
flag.BoolVar(&debug, "log.debug", false, "enable debug logs")
|
||||
flag.BoolVar(&jsonLog, "log.json", false, "enable structured logs")
|
||||
flag.Parse()
|
||||
|
||||
if len(flag.Args()) != 0 || authURL == "" || storageURL == "" {
|
||||
|
|
@ -98,6 +101,15 @@ func main() {
|
|||
os.Exit(1)
|
||||
}
|
||||
|
||||
zerolog.TimeFieldFormat = zerolog.TimeFormatUnix
|
||||
zerolog.SetGlobalLevel(zerolog.InfoLevel)
|
||||
if debug {
|
||||
zerolog.SetGlobalLevel(zerolog.DebugLevel)
|
||||
}
|
||||
if !jsonLog {
|
||||
log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr})
|
||||
}
|
||||
|
||||
for _, method := range []string{
|
||||
"PROPFIND",
|
||||
"PROPPATCH",
|
||||
|
|
@ -113,7 +125,7 @@ func main() {
|
|||
|
||||
authProvider, err := auth.NewFromURL(authURL)
|
||||
if err != nil {
|
||||
log.Fatalf("failed to load auth provider: %s", err.Error())
|
||||
log.Fatal().Err(err).Msg("failed to load auth provider")
|
||||
}
|
||||
mux.Use(authProvider.Middleware())
|
||||
|
||||
|
|
@ -121,7 +133,7 @@ func main() {
|
|||
|
||||
caldavBackend, carddavBackend, err := storage.NewFromURL(storageURL, "/calendar/", "/contacts/", upBackend)
|
||||
if err != nil {
|
||||
log.Fatalf("failed to load storage backend: %s", err.Error())
|
||||
log.Fatal().Err(err).Msg("failed to load storage backend")
|
||||
}
|
||||
|
||||
carddavHandler := carddav.Handler{Backend: carddavBackend}
|
||||
|
|
@ -144,11 +156,11 @@ func main() {
|
|||
Handler: mux,
|
||||
}
|
||||
|
||||
log.Printf("Server running on %s", addr)
|
||||
debug.Printf("Debug output enabled")
|
||||
log.Info().Str("address", addr).Msg("starting server")
|
||||
log.Debug().Msg("debug output enabled")
|
||||
|
||||
err = server.ListenAndServe()
|
||||
if err != http.ErrServerClosed {
|
||||
log.Fatalf("ListenAndServe: %s", err.Error())
|
||||
log.Fatal().Err(err).Msg("ListenAndServe() error")
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue