Skip to content

Commit

Permalink
chore(logging)_: avoid logging spam by 3rd parties
Browse files Browse the repository at this point in the history
  • Loading branch information
osmaczko committed Dec 4, 2024
1 parent 34d2daf commit 0148d3d
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 17 deletions.
21 changes: 12 additions & 9 deletions logutils/override.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (

logging "github.com/ipfs/go-log/v2"

"go.uber.org/zap"
"go.uber.org/zap/zapcore"
)

Expand Down Expand Up @@ -54,15 +55,17 @@ func overrideCoreWithConfig(core *Core, settings LogSettings) error {
core.UpdateSyncer(zapcore.Lock(os.Stderr))
}

// FIXME: remove go-libp2p logging altogether
// go-libp2p logger
{
lvl, err := logging.LevelFromString(settings.Level)
if err != nil {
return err
}
logging.SetAllLoggers(lvl)
}
// The go-libp2p logger shouldn't follow the app logger level,
// as we don't have a way to control what and how it logs.
// Assuming WarnLevel is enough to track potential issues and yet not spam the logs.
logging.SetAllLoggers(logging.LogLevel(MaxLevel(level, zap.WarnLevel)))

return nil
}

func MaxLevel(a, b zapcore.Level) zapcore.Level {
if a > b {
return a
}
return b
}
2 changes: 1 addition & 1 deletion wakuv2/message_publishing.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ func (w *Waku) publishEnvelope(envelope *protocol.Envelope) {
var err error
// only used in testing to simulate going offline
if w.cfg.SkipPublishToTopic {
logger.Info("skipping publish to topic")
logger.Debug("skipping publish to topic")
err = errors.New("test send failure")
} else {
err = w.messageSender.Send(publish.NewRequest(w.ctx, envelope))
Expand Down
6 changes: 3 additions & 3 deletions wakuv2/persistence/dbstore.go
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ func (d *DBStore) Query(query *storepb.HistoryQuery) (*storepb.Index, []gowakuPe
start := time.Now()
defer func() {
elapsed := time.Since(start)
d.log.Info(fmt.Sprintf("Loading records from the DB took %s", elapsed))
d.log.Debug(fmt.Sprintf("Loading records from the DB took %s", elapsed))
}()

sqlQuery := `SELECT id, receiverTimestamp, senderTimestamp, contentTopic, pubsubTopic, payload, version
Expand Down Expand Up @@ -361,7 +361,7 @@ func (d *DBStore) GetAll() ([]gowakuPersistence.StoredMessage, error) {
start := time.Now()
defer func() {
elapsed := time.Since(start)
d.log.Info("loading records from the DB", zap.Duration("duration", elapsed))
d.log.Debug("loading records from the DB", zap.Duration("duration", elapsed))
}()

rows, err := d.db.Query("SELECT id, receiverTimestamp, senderTimestamp, contentTopic, pubsubTopic, payload, version FROM store_messages ORDER BY senderTimestamp ASC")
Expand All @@ -381,7 +381,7 @@ func (d *DBStore) GetAll() ([]gowakuPersistence.StoredMessage, error) {
result = append(result, record)
}

d.log.Info("DB returned records", zap.Int("count", len(result)))
d.log.Debug("DB returned records", zap.Int("count", len(result)))

err = rows.Err()
if err != nil {
Expand Down
8 changes: 4 additions & 4 deletions wakuv2/waku.go
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,7 @@ func New(nodeKey *ecdsa.PrivateKey, fleet string, cfg *Config, logger *zap.Logge
node.WithTopicHealthStatusChannel(waku.topicHealthStatusChan),
node.WithKeepAlive(randomPeersKeepAliveInterval, allPeersKeepAliveInterval),
node.WithLogger(logger),
node.WithLogLevel(logger.Level()),
node.WithLogLevel(logutils.MaxLevel(logger.Level(), zap.WarnLevel)), // Set min WarnLevel to avoid spamming app logs
node.WithClusterID(cfg.ClusterID),
node.WithMaxMsgSize(1024 * 1024),
}
Expand Down Expand Up @@ -609,7 +609,7 @@ func (w *Waku) runPeerExchangeLoop() {
w.logger.Debug("Peer exchange loop stopped")
return
case <-ticker.C:
w.logger.Info("Running peer exchange loop")
w.logger.Debug("Running peer exchange loop")

// We select only the nodes discovered via DNS Discovery that support peer exchange
// We assume that those peers are running peer exchange according to infra config,
Expand Down Expand Up @@ -1021,7 +1021,7 @@ func (w *Waku) GetFilter(id string) *common.Filter {
// Unsubscribe removes an installed message handler.
func (w *Waku) UnsubscribeMany(ids []string) error {
for _, id := range ids {
w.logger.Info("cleaning up filter", zap.String("id", id))
w.logger.Debug("cleaning up filter", zap.String("id", id))
ok := w.filters.Uninstall(id)
if !ok {
w.logger.Warn("could not remove filter with id", zap.String("id", id))
Expand Down Expand Up @@ -1445,7 +1445,7 @@ func (w *Waku) OnNewEnvelopes(envelope *protocol.Envelope, msgType common.Messag

_, err := w.add(recvMessage, processImmediately)
if err != nil {
logger.Info("invalid envelope received", zap.Error(err))
logger.Debug("invalid envelope received", zap.Error(err))
trouble = true
}

Expand Down

0 comments on commit 0148d3d

Please sign in to comment.