mirror of
https://codeberg.org/shroff/phylum.git
synced 2026-04-29 00:30:09 -05:00
[server] Use zerolog instead of logrus in most places
This commit is contained in:
@@ -11,7 +11,6 @@ import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/google/uuid"
|
||||
"github.com/jackc/pgx/v5/pgtype"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
type handler struct {
|
||||
@@ -20,7 +19,6 @@ type handler struct {
|
||||
}
|
||||
|
||||
func SetupHandler(r *gin.RouterGroup) {
|
||||
logrus.Debug("Setting up WebDAV access at " + r.BasePath())
|
||||
handler := &handler{
|
||||
prefix: r.BasePath(),
|
||||
lockSystem: webdav.NewMemLS(),
|
||||
|
||||
@@ -29,7 +29,6 @@ import (
|
||||
"github.com/knadh/koanf/v2"
|
||||
"github.com/rs/zerolog"
|
||||
"github.com/rs/zerolog/log"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/spf13/pflag"
|
||||
)
|
||||
@@ -43,6 +42,7 @@ func SetupCommand() {
|
||||
Version: "0.4.0",
|
||||
}
|
||||
flags := cmd.PersistentFlags()
|
||||
log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: "15:04:05.999"})
|
||||
|
||||
// Flags only. Not part of config file
|
||||
flags.StringP("workdir", "W", "", "Working Directory")
|
||||
@@ -59,28 +59,24 @@ func SetupCommand() {
|
||||
|
||||
k := koanf.New(".")
|
||||
if bytes, err := defaultConfig.ReadFile("config.defaults.yml"); err != nil {
|
||||
logrus.Fatal(err.Error())
|
||||
log.Fatal().Err(err).Msg("failed to read default config file")
|
||||
} else {
|
||||
if err := k.Load(rawbytes.Provider(bytes), yaml.Parser()); err != nil {
|
||||
logrus.Fatal("Unable to default load config: ", err.Error())
|
||||
log.Fatal().Err(err).Msg("failed to load default config")
|
||||
}
|
||||
}
|
||||
|
||||
log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: "15:04:05.999"})
|
||||
|
||||
uuid.EnableRandPool()
|
||||
cmd.PersistentPreRun = func(cmd *cobra.Command, args []string) {
|
||||
if cmd.Name() == "serve" {
|
||||
zerolog.SetGlobalLevel(zerolog.InfoLevel)
|
||||
logrus.SetLevel(logrus.InfoLevel)
|
||||
} else {
|
||||
zerolog.SetGlobalLevel(zerolog.WarnLevel)
|
||||
logrus.SetLevel(logrus.WarnLevel)
|
||||
}
|
||||
|
||||
dir, _ := cmd.Flags().GetString("workdir")
|
||||
if dir != "" && dir != "." {
|
||||
logrus.Info("Changing directory to " + dir)
|
||||
log.Info().Str("dir", dir).Msg("Changing working directory")
|
||||
os.Chdir(dir)
|
||||
}
|
||||
|
||||
@@ -88,12 +84,12 @@ func SetupCommand() {
|
||||
if configFile != "" {
|
||||
if err := k.Load(file.Provider(configFile), yaml.Parser()); err != nil {
|
||||
if errors.Is(err, os.ErrNotExist) {
|
||||
logrus.Info("Config file does not exist. Skipping")
|
||||
log.Info().Msg("config file does not exist. Skipping")
|
||||
} else {
|
||||
logrus.Fatal("Unable to load config: ", err.Error())
|
||||
log.Fatal().Err(err).Msg("failed to load config")
|
||||
}
|
||||
} else {
|
||||
logrus.Info("Loaded config from ", configFile)
|
||||
log.Info().Msg("loaded config")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -104,7 +100,7 @@ func SetupCommand() {
|
||||
k, v := strings.ReplaceAll(f.Name, "_", "."), posflag.FlagVal(cmd.Flags(), f)
|
||||
return k, v
|
||||
}), nil); err != nil {
|
||||
logrus.Fatalf("Unable to load flags: %v", err)
|
||||
log.Fatal().Err(err).Msg("failed to load flags")
|
||||
}
|
||||
|
||||
k.Load(env.Provider("PHYLUM_", ".", func(s string) string {
|
||||
@@ -117,8 +113,7 @@ func SetupCommand() {
|
||||
|
||||
if cfg.Debug {
|
||||
zerolog.SetGlobalLevel(zerolog.TraceLevel)
|
||||
logrus.SetLevel(logrus.TraceLevel)
|
||||
logrus.Debug("Running in debug mode")
|
||||
log.Debug().Msg("Running in debug mode")
|
||||
cfg.Server.Debug = true
|
||||
}
|
||||
|
||||
@@ -137,12 +132,11 @@ func SetupCommand() {
|
||||
}
|
||||
|
||||
if err := storage.Initialize(db.Get(context.Background())); err != nil {
|
||||
logrus.Fatal("Failed to initialize storage: " + err.Error())
|
||||
log.Fatal().Err(err).Msg("failed to initialize storage")
|
||||
}
|
||||
}
|
||||
|
||||
defer func() {
|
||||
logrus.Debug("Shutting Down App")
|
||||
db.Close()
|
||||
}()
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ import (
|
||||
"codeberg.org/shroff/phylum/server/internal/steve"
|
||||
"github.com/gin-contrib/static"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/rs/zerolog/log"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
@@ -55,7 +55,9 @@ func SetupCommand() *cobra.Command {
|
||||
engine := createEngine()
|
||||
|
||||
if Cfg.WebDAV.Enabled {
|
||||
webdav.SetupHandler(engine.Group(Cfg.WebDAV.Path))
|
||||
r := engine.Group(Cfg.WebDAV.Path)
|
||||
webdav.SetupHandler(r)
|
||||
log.Info().Str("path", r.BasePath()).Msg("WebDAV Enabled")
|
||||
}
|
||||
apiv1.Setup(engine.Group("/api/v1"))
|
||||
publink.Setup(engine.Group(Cfg.PublinkPath))
|
||||
@@ -80,7 +82,7 @@ func SetupCommand() *cobra.Command {
|
||||
defer closeWG.Done()
|
||||
if err := server.ListenAndServe(); err != nil {
|
||||
if !errors.Is(err, http.ErrServerClosed) {
|
||||
logrus.Fatal("Failed to start server: " + err.Error())
|
||||
log.Fatal().Err(err).Msg("failed to start server")
|
||||
}
|
||||
}
|
||||
}()
|
||||
@@ -90,13 +92,13 @@ func SetupCommand() *cobra.Command {
|
||||
defer closeWG.Done()
|
||||
if err := steve.Get().Run(context.Background()); err != nil {
|
||||
if !errors.Is(err, steve.ErrShutdown) {
|
||||
logrus.Fatal("Failed to start jobs client: " + err.Error())
|
||||
log.Fatal().Err(err).Msg("failed to start jobs")
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
<-sigChan
|
||||
logrus.Info("Shutting Down")
|
||||
log.Info().Msg("Shutting Down")
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
|
||||
defer cancel()
|
||||
go server.Shutdown(ctx)
|
||||
|
||||
@@ -2,13 +2,12 @@ package serve
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"codeberg.org/shroff/phylum/server/internal/core"
|
||||
"github.com/gin-contrib/cors"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/rs/zerolog/log"
|
||||
)
|
||||
|
||||
// func createEngine(logBody bool, corsEnabled bool, corsOrigins []string) *gin.Engine {
|
||||
@@ -27,7 +26,7 @@ func createEngine() *gin.Engine {
|
||||
|
||||
if Cfg.CORS.Enabled {
|
||||
origins := Cfg.CORS.Origins
|
||||
logrus.Info("Enabling cors (" + strings.Join(origins, ", ") + ")")
|
||||
log.Info().Strs("origins", origins).Msg("Enabling CORS")
|
||||
engine.Use(cors.New(cors.Config{
|
||||
AllowOrigins: origins,
|
||||
AllowHeaders: []string{"Origin", "Authorization", "Accept", "Accept-Language", "Content-Type"},
|
||||
|
||||
@@ -4,10 +4,9 @@ import (
|
||||
"bytes"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/rs/zerolog/log"
|
||||
)
|
||||
|
||||
|
||||
type logBodyWriter struct {
|
||||
gin.ResponseWriter
|
||||
body *bytes.Buffer
|
||||
@@ -25,6 +24,5 @@ func logBodyMiddleware(c *gin.Context) {
|
||||
}
|
||||
c.Writer = logBodyWriter
|
||||
c.Next()
|
||||
logrus.Trace(c.Request.URL)
|
||||
logrus.Trace(logBodyWriter.body.String())
|
||||
}
|
||||
log.Trace().Str("url", c.Request.URL.String()).Str("body", logBodyWriter.body.String()).Send()
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"github.com/google/uuid"
|
||||
"github.com/jackc/pgx/v5"
|
||||
"github.com/jackc/pgx/v5/pgtype"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/rs/zerolog/log"
|
||||
)
|
||||
|
||||
type FileSystem struct {
|
||||
@@ -81,7 +81,7 @@ func rootID(db db.Handler) uuid.UUID {
|
||||
var err error
|
||||
_rootID, err = _readRootID(db)
|
||||
if err != nil {
|
||||
logrus.Fatal("Could not read root ID: " + err.Error())
|
||||
log.Fatal().Err(err).Msg("failed to read filesystem root")
|
||||
}
|
||||
}
|
||||
return _rootID
|
||||
|
||||
@@ -3,13 +3,12 @@ package db
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"codeberg.org/shroff/phylum/server/internal/pubsub"
|
||||
"github.com/jackc/pgx/v5/pgxpool"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/rs/zerolog/log"
|
||||
)
|
||||
|
||||
var Cfg Config
|
||||
@@ -20,9 +19,9 @@ var notifier pubsub.Notifier
|
||||
func Get(ctx context.Context) Handler {
|
||||
if pool == nil {
|
||||
if err := initPool(context.Background()); err != nil {
|
||||
logrus.Fatal(err)
|
||||
log.Fatal().Err(err).Msg("failed to initialize db pool")
|
||||
} else if n, err := pubsub.Start(pool, context.Background()); err != nil {
|
||||
logrus.Fatal(err)
|
||||
log.Fatal().Err(err).Msg("failed to initialize pubsub client")
|
||||
} else {
|
||||
notifier = n
|
||||
}
|
||||
@@ -75,10 +74,12 @@ func initPool(ctx context.Context) error {
|
||||
|
||||
pool, err = pgxpool.NewWithConfig(ctx, config)
|
||||
if err != nil {
|
||||
return errors.New("Unable to create pool: " + err.Error())
|
||||
return err
|
||||
}
|
||||
|
||||
logrus.Debug("Connected to " + config.ConnConfig.Database + " at " + config.ConnConfig.Host + ":" + fmt.Sprint(config.ConnConfig.Port))
|
||||
log.Debug().Str("host", config.ConnConfig.Host+":"+strconv.Itoa(int(config.ConnConfig.Port))).
|
||||
Str("db", config.ConnConfig.Database).
|
||||
Msg("Connected to database")
|
||||
|
||||
if err := checkVersion(ctx, Cfg.NoMigrate); err != nil {
|
||||
return err
|
||||
|
||||
@@ -3,7 +3,7 @@ package pubsub
|
||||
import (
|
||||
"sync"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/rs/zerolog/log"
|
||||
)
|
||||
|
||||
type Subscription interface {
|
||||
@@ -34,7 +34,7 @@ func (s *subscription) EstablishedC() <-chan struct{} { return s.establishedChan
|
||||
func (s *subscription) Cancel() {
|
||||
s.unlistenOnce.Do(func() {
|
||||
if err := s.notifier.unsubscribe(s); err != nil {
|
||||
logrus.Errorf("error cancelling subscription on %s: %s", s.channelName, err)
|
||||
log.Warn().Err(err).Str("channel", s.channelName).Msg("failed to cancel subscription")
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
|
||||
"codeberg.org/shroff/phylum/server/internal/db"
|
||||
"github.com/jackc/pgx/v5"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/rs/zerolog/log"
|
||||
)
|
||||
|
||||
var Cfg Config
|
||||
@@ -146,9 +146,9 @@ func processBackendUpdates() {
|
||||
p := <-sub.NotificationC()
|
||||
var c BackendConfig
|
||||
if err := json.Unmarshal([]byte(p), &c); err != nil {
|
||||
logrus.Warn("failed to unmarshal backend config: " + err.Error())
|
||||
log.Warn().Err(err).Msg("failed to unmarshal backend config")
|
||||
} else if b, err := c.open(); err != nil {
|
||||
logrus.Warn("failed to open backend: " + err.Error())
|
||||
log.Warn().Err(err).Msg("failed to open backend")
|
||||
} else {
|
||||
backends[c.Name] = b
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user