(minor) unify log keys

This commit is contained in:
Lawrence, Rendall
2024-03-12 15:29:58 +03:00
parent cd5c65e0ef
commit 1a243b94c5
11 changed files with 25 additions and 20 deletions

View File

@@ -126,7 +126,7 @@ func (p Peer) Addr() netip.Addr {
// MarshalZerologObject writes fields into zerolog event // MarshalZerologObject writes fields into zerolog event
func (p Peer) MarshalZerologObject(e *zerolog.Event) { func (p Peer) MarshalZerologObject(e *zerolog.Event) {
e.Stringer("id", p.ID). e.Stringer("id", p.ID).
Stringer("address", p.Addr()). Stringer("addr", p.Addr()).
Uint16("port", p.Port()) Uint16("port", p.Port())
} }

View File

@@ -25,7 +25,7 @@ func (a RequestAddress) IsValid() bool {
// MarshalZerologObject writes fields into zerolog event // MarshalZerologObject writes fields into zerolog event
func (a RequestAddress) MarshalZerologObject(e *zerolog.Event) { func (a RequestAddress) MarshalZerologObject(e *zerolog.Event) {
e.Stringer("address", a.Addr).Bool("provided", a.Provided) e.Stringer("addr", a.Addr).Bool("provided", a.Provided)
} }
// RequestAddresses is an array of RequestAddress used mainly for // RequestAddresses is an array of RequestAddress used mainly for
@@ -168,7 +168,7 @@ func (r AnnounceRequest) MarshalZerologObject(e *zerolog.Event) {
Uint64("left", r.Left). Uint64("left", r.Left).
Uint64("downloaded", r.Downloaded). Uint64("downloaded", r.Downloaded).
Uint64("uploaded", r.Uploaded). Uint64("uploaded", r.Uploaded).
Object("peers", r.RequestPeer). Object("source", r.RequestPeer).
Object("params", r.Params) Object("params", r.Params)
} }

View File

@@ -27,7 +27,7 @@ type Server struct {
// creation of a new one. // creation of a new one.
func (r *Server) Run(cfg *Config) (err error) { func (r *Server) Run(cfg *Config) (err error) {
if len(cfg.MetricsAddr) > 0 { if len(cfg.MetricsAddr) > 0 {
log.Info().Str("address", cfg.MetricsAddr).Msg("starting metrics server") log.Info().Str("addr", cfg.MetricsAddr).Msg("starting metrics server")
r.frontends = append(r.frontends, metrics.NewServer(cfg.MetricsAddr)) r.frontends = append(r.frontends, metrics.NewServer(cfg.MetricsAddr))
} else { } else {
log.Info().Msg("metrics disabled because of empty address") log.Info().Msg("metrics disabled because of empty address")

View File

@@ -58,7 +58,7 @@ func NewFrontends(configs []conf.NamedMapConfig, logic *middleware.Logic) (fs []
buildersMU.RLock() buildersMU.RLock()
defer buildersMU.RUnlock() defer buildersMU.RUnlock()
for _, c := range configs { for _, c := range configs {
logger.Debug().Object("frontend", c).Msg("starting frontend") logger.Debug().Str("name", c.Name).Object("config", c).Msg("starting frontend")
newFrontend, ok := builders[c.Name] newFrontend, ok := builders[c.Name]
if !ok { if !ok {
err = fmt.Errorf("hook with name '%s' does not exists", c.Name) err = fmt.Errorf("hook with name '%s' does not exists", c.Name)

View File

@@ -207,6 +207,7 @@ func NewFrontend(c conf.MapConfig, logic *middleware.Logic) (frontend.Frontend,
} }
func runServer(s *fasthttp.Server, cfg *Config) { func runServer(s *fasthttp.Server, cfg *Config) {
logger.Debug().Str("addr", cfg.Addr).Msg("starting listener")
ln, err := cfg.ListenTCP() ln, err := cfg.ListenTCP()
if err == nil { if err == nil {
if s.TLSConfig == nil { if s.TLSConfig == nil {
@@ -217,9 +218,9 @@ func runServer(s *fasthttp.Server, cfg *Config) {
} }
defer ln.Close() defer ln.Close()
if err == nil { if err == nil {
logger.Info().Msg("server stopped") logger.Info().Str("addr", cfg.Addr).Msg("listener stopped")
} else if !errors.Is(err, http.ErrServerClosed) { } else if !errors.Is(err, http.ErrServerClosed) {
logger.Fatal().Err(err).Msg("server failed") logger.Fatal().Str("addr", cfg.Addr).Err(err).Msg("listener failed")
} }
} }

View File

@@ -33,5 +33,5 @@ func (qp queryParams) InfoHashes() bittorrent.InfoHashes {
// MarshalZerologObject writes fields into zerolog event // MarshalZerologObject writes fields into zerolog event
func (qp queryParams) MarshalZerologObject(e *zerolog.Event) { func (qp queryParams) MarshalZerologObject(e *zerolog.Event) {
e.Stringer("query", qp.Args) e.Str("query", str2bytes.BytesToString(qp.Args.QueryString()))
} }

View File

@@ -137,12 +137,15 @@ func NewFrontend(c conf.MapConfig, logic *middleware.Logic) (frontend.Frontend,
var ctx context.Context var ctx context.Context
ctx, f.ctxCancel = context.WithCancel(context.Background()) ctx, f.ctxCancel = context.WithCancel(context.Background())
logger.Debug().Str("addr", cfg.Addr).Msg("starting listener")
for i := range f.sockets { for i := range f.sockets {
if f.sockets[i], err = cfg.ListenUDP(); err == nil { if f.sockets[i], err = cfg.ListenUDP(); err == nil {
f.wg.Add(1) f.wg.Add(1)
go func(socket *net.UDPConn, ctx context.Context) { go func(socket *net.UDPConn, ctx context.Context) {
if err := f.serve(ctx, socket); err != nil { if err := f.serve(ctx, socket); err != nil {
logger.Fatal().Err(err).Msg("server failed") logger.Fatal().Str("addr", cfg.Addr).Err(err).Msg("listener failed")
} else {
logger.Info().Str("addr", cfg.Addr).Msg("listener stopped")
} }
}(f.sockets[i], ctx) }(f.sockets[i], ctx)
} }

View File

@@ -140,7 +140,7 @@ type fetchArgs struct {
func (h *responseHook) appendPeers(ctx context.Context, req *bittorrent.AnnounceRequest, resp *bittorrent.AnnounceResponse) (err error) { func (h *responseHook) appendPeers(ctx context.Context, req *bittorrent.AnnounceRequest, resp *bittorrent.AnnounceResponse) (err error) {
seeding := req.Left == 0 seeding := req.Left == 0
max := int(req.NumWant) maxPeers := int(req.NumWant)
peers := make([]bittorrent.Peer, 0, len(resp.IPv4Peers)+len(resp.IPv6Peers)) peers := make([]bittorrent.Peer, 0, len(resp.IPv4Peers)+len(resp.IPv6Peers))
primaryIP := req.GetFirst() primaryIP := req.GetFirst()
v6First := primaryIP.Is6() v6First := primaryIP.Is6()
@@ -158,24 +158,24 @@ func (h *responseHook) appendPeers(ctx context.Context, req *bittorrent.Announce
peers = append(peers, resp.IPv4Peers...) peers = append(peers, resp.IPv4Peers...)
peers = append(peers, resp.IPv6Peers...) peers = append(peers, resp.IPv6Peers...)
} }
if l := len(peers); l > max { if l := len(peers); l > maxPeers {
peers, max = peers[:max], 0 peers, maxPeers = peers[:maxPeers], 0
} else { } else {
max -= l maxPeers -= l
} }
for _, a := range args { for _, a := range args {
if max <= 0 { if maxPeers <= 0 {
break break
} }
var storePeers []bittorrent.Peer var storePeers []bittorrent.Peer
storePeers, err = h.store.AnnouncePeers(ctx, a.ih, seeding, max, a.v6) storePeers, err = h.store.AnnouncePeers(ctx, a.ih, seeding, maxPeers, a.v6)
if err != nil && !errors.Is(err, storage.ErrResourceDoesNotExist) { if err != nil && !errors.Is(err, storage.ErrResourceDoesNotExist) {
return err return err
} }
err = nil err = nil
peers = append(peers, storePeers...) peers = append(peers, storePeers...)
max -= len(storePeers) maxPeers -= len(storePeers)
} }
// Some clients expect a minimum of their own peer representation returned to // Some clients expect a minimum of their own peer representation returned to

View File

@@ -82,6 +82,7 @@ func build(config conf.MapConfig, _ storage.PeerStorage) (h middleware.Hook, err
cfg.Header = authorizationHeader cfg.Header = authorizationHeader
logger.Warn(). logger.Warn().
Str("name", "Header"). Str("name", "Header").
Str("provided", "").
Str("default", cfg.Header). Str("default", cfg.Header).
Msg("falling back to default configuration") Msg("falling back to default configuration")
} }
@@ -149,7 +150,7 @@ func (h *hook) HandleAnnounce(ctx context.Context, req *bittorrent.AnnounceReque
logger.Info(). logger.Info().
Stringer("claimInfoHash", claimIH). Stringer("claimInfoHash", claimIH).
Stringer("requestInfoHash", req.InfoHash). Stringer("requestInfoHash", req.InfoHash).
Object("peer", req.RequestPeer). Object("source", req.RequestPeer).
Msg("unequal 'infohash' claim when validating JWT") Msg("unequal 'infohash' claim when validating JWT")
err = ErrInvalidJWT err = ErrInvalidJWT
} }
@@ -220,7 +221,7 @@ func (h *hook) HandleScrape(ctx context.Context, req *bittorrent.ScrapeRequest,
} else { } else {
logger.Info(). logger.Info().
Err(jwtErr). Err(jwtErr).
Array("source", &req.RequestAddresses). Array("addresses", &req.RequestAddresses).
Msg("JWT validation failed") Msg("JWT validation failed")
err = ErrInvalidJWT err = ErrInvalidJWT
} }

View File

@@ -48,7 +48,7 @@ func NewHooks(configs []conf.NamedMapConfig, storage storage.PeerStorage) (hooks
buildersMU.RLock() buildersMU.RLock()
defer buildersMU.RUnlock() defer buildersMU.RUnlock()
for _, c := range configs { for _, c := range configs {
logger.Debug().Object("hook", c).Msg("starting hook") logger.Debug().Str("name", c.Name).Object("hook", c).Msg("starting hook")
newHook, ok := builders[c.Name] newHook, ok := builders[c.Name]
if !ok { if !ok {
err = fmt.Errorf("hook with name '%s' does not exists", c.Name) err = fmt.Errorf("hook with name '%s' does not exists", c.Name)

View File

@@ -236,7 +236,7 @@ func RegisterDriver(name string, d Driver) {
func NewStorage(cfg conf.NamedMapConfig) (ps PeerStorage, err error) { func NewStorage(cfg conf.NamedMapConfig) (ps PeerStorage, err error) {
driversMU.RLock() driversMU.RLock()
defer driversMU.RUnlock() defer driversMU.RUnlock()
logger.Debug().Object("cfg", cfg).Msg("staring storage") logger.Debug().Object("config", cfg).Msg("staring storage")
var b Driver var b Driver
b, ok := drivers[cfg.Name] b, ok := drivers[cfg.Name]