mirror of
https://github.com/sot-tech/mochi.git
synced 2026-05-11 06:39:08 -07:00
(minor) unify log keys
This commit is contained in:
@@ -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())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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")
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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()))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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]
|
||||||
|
|||||||
Reference in New Issue
Block a user