From c2923e2214ffc9413cda0097d3bb6f07d01ba98e Mon Sep 17 00:00:00 2001 From: Elle Mouton Date: Mon, 25 Nov 2024 12:11:32 +0200 Subject: [PATCH] multi: remove PrefixLog And instead use the new btclog Logger `WithPrefix` method. --- build/prefix_log.go | 180 ----------------------------- contractcourt/contract_resolver.go | 3 +- htlcswitch/link.go | 3 +- htlcswitch/quiescer.go | 3 +- lnwallet/channel.go | 3 +- peer/brontide.go | 3 +- routing/missioncontrol.go | 13 +-- routing/payment_session.go | 3 +- watchtower/wtclient/client.go | 5 +- 9 files changed, 13 insertions(+), 203 deletions(-) delete mode 100644 build/prefix_log.go diff --git a/build/prefix_log.go b/build/prefix_log.go deleted file mode 100644 index 22f4318ef..000000000 --- a/build/prefix_log.go +++ /dev/null @@ -1,180 +0,0 @@ -package build - -import ( - "context" - - btclogv1 "github.com/btcsuite/btclog" - "github.com/btcsuite/btclog/v2" -) - -// PrefixLog is a pass-through logger that adds a prefix to every logged line. -type PrefixLog struct { - log btclog.Logger - prefix string - attr []any -} - -// NewPrefixLog instantiates a new prefixed logger. -func NewPrefixLog(prefix string, log btclog.Logger, attrs ...any) *PrefixLog { - return &PrefixLog{ - log: log, - prefix: prefix, - attr: attrs, - } -} - -// addFormatPrefix prepends the prefix to a format string. -func (p *PrefixLog) addFormatPrefix(s string) string { - return p.prefix + " " + s -} - -// addArgsPrefix prepends the prefix to a list of arguments. -func (p *PrefixLog) addArgsPrefix(args []any) []any { - return append([]interface{}{p.prefix}, args...) -} - -// mergeAttr merges the given set of attributes with any attributes that the -// logger was initialised with. -func (p *PrefixLog) mergeAttr(attrs []any) []any { - return append(append([]any{}, attrs...), p.attr...) -} - -// Tracef formats message according to format specifier and writes to to log -// with LevelTrace. -func (p *PrefixLog) Tracef(format string, params ...interface{}) { - p.log.Tracef(p.addFormatPrefix(format), params...) -} - -// Debugf formats message according to format specifier and writes to log with -// LevelDebug. -func (p *PrefixLog) Debugf(format string, params ...interface{}) { - p.log.Debugf(p.addFormatPrefix(format), params...) -} - -// Infof formats message according to format specifier and writes to log with -// LevelInfo. -func (p *PrefixLog) Infof(format string, params ...interface{}) { - p.log.Infof(p.addFormatPrefix(format), params...) -} - -// Warnf formats message according to format specifier and writes to to log with -// LevelWarn. -func (p *PrefixLog) Warnf(format string, params ...interface{}) { - p.log.Warnf(p.addFormatPrefix(format), params...) -} - -// Errorf formats message according to format specifier and writes to to log -// with LevelError. -func (p *PrefixLog) Errorf(format string, params ...interface{}) { - p.log.Errorf(p.addFormatPrefix(format), params...) -} - -// Criticalf formats message according to format specifier and writes to log -// with LevelCritical. -func (p *PrefixLog) Criticalf(format string, params ...interface{}) { - p.log.Criticalf(p.addFormatPrefix(format), params...) -} - -// Trace formats message using the default formats for its operands and writes -// to log with LevelTrace. -func (p *PrefixLog) Trace(v ...interface{}) { - p.log.Trace(p.addArgsPrefix(v)...) -} - -// Debug formats message using the default formats for its operands and writes -// to log with LevelDebug. -func (p *PrefixLog) Debug(v ...interface{}) { - p.log.Debug(p.addArgsPrefix(v)...) -} - -// Info formats message using the default formats for its operands and writes to -// log with LevelInfo. -func (p *PrefixLog) Info(v ...interface{}) { - p.log.Info(p.addArgsPrefix(v)...) -} - -// Warn formats message using the default formats for its operands and writes to -// log with LevelWarn. -func (p *PrefixLog) Warn(v ...interface{}) { - p.log.Warn(p.addArgsPrefix(v)...) -} - -// Error formats message using the default formats for its operands and writes -// to log with LevelError. -func (p *PrefixLog) Error(v ...interface{}) { - p.log.Error(p.addArgsPrefix(v)...) -} - -// Critical formats message using the default formats for its operands and -// writes to log with LevelCritical. -func (p *PrefixLog) Critical(v ...interface{}) { - p.log.Critical(p.addArgsPrefix(v)...) -} - -// TraceS writes a structured log with the given message and key-value pair -// attributes with LevelTrace to the log. -func (p *PrefixLog) TraceS(ctx context.Context, msg string, attrs ...any) { - p.log.TraceS(ctx, p.addFormatPrefix(msg), p.mergeAttr(attrs)...) -} - -// DebugS writes a structured log with the given message and key-value pair -// attributes with LevelDebug to the log. -func (p *PrefixLog) DebugS(ctx context.Context, msg string, attrs ...any) { - p.log.DebugS(ctx, p.addFormatPrefix(msg), p.mergeAttr(attrs)...) -} - -// InfoS writes a structured log with the given message and key-value pair -// attributes with LevelInfo to the log. -func (p *PrefixLog) InfoS(ctx context.Context, msg string, attrs ...any) { - p.log.InfoS(ctx, p.addFormatPrefix(msg), p.mergeAttr(attrs)...) -} - -// WarnS writes a structured log with the given message and key-value pair -// attributes with LevelWarn to the log. -func (p *PrefixLog) WarnS(ctx context.Context, msg string, err error, - attrs ...any) { - - p.log.WarnS(ctx, p.addFormatPrefix(msg), err, p.mergeAttr(attrs)...) -} - -// ErrorS writes a structured log with the given message and key-value pair -// attributes with LevelError to the log. -func (p *PrefixLog) ErrorS(ctx context.Context, msg string, err error, - attrs ...any) { - - p.log.ErrorS(ctx, p.addFormatPrefix(msg), err, p.mergeAttr(attrs)...) -} - -// CriticalS writes a structured log with the given message and key-value pair -// attributes with LevelCritical to the log. -func (p *PrefixLog) CriticalS(ctx context.Context, msg string, err error, - attrs ...any) { - - p.log.CriticalS(ctx, p.addFormatPrefix(msg), err, p.mergeAttr(attrs)...) -} - -// Level returns the current logging level. -func (p *PrefixLog) Level() btclogv1.Level { - return p.log.Level() -} - -// SetLevel changes the logging level to the passed level. -func (p *PrefixLog) SetLevel(level btclogv1.Level) { - p.log.SetLevel(level) -} - -// SubSystem returns a copy of the logger but with the new subsystem tag. Any -// previously set prefix will be overridden with an empty string. -func (p *PrefixLog) SubSystem(tag string) btclog.Logger { - return p.log.SubSystem(tag) -} - -// WithPrefix returns a copy of the logger but with the given string prefixed to -// each log message. Note that the subsystem of the original logger is kept but -// any existing prefix is overridden. -func (p *PrefixLog) WithPrefix(prefix string) btclog.Logger { - return p.log.WithPrefix(prefix) -} - -// Assert that PrefixLog fulfills the btclog.Logger interface. -var _ btclog.Logger = &PrefixLog{} diff --git a/contractcourt/contract_resolver.go b/contractcourt/contract_resolver.go index 691822610..53f4f680d 100644 --- a/contractcourt/contract_resolver.go +++ b/contractcourt/contract_resolver.go @@ -8,7 +8,6 @@ import ( "github.com/btcsuite/btcd/wire" "github.com/btcsuite/btclog/v2" - "github.com/lightningnetwork/lnd/build" "github.com/lightningnetwork/lnd/channeldb" "github.com/lightningnetwork/lnd/fn" ) @@ -123,7 +122,7 @@ func newContractResolverKit(cfg ResolverConfig) *contractResolverKit { // initLogger initializes the resolver-specific logger. func (r *contractResolverKit) initLogger(resolver ContractResolver) { logPrefix := fmt.Sprintf("%T(%v):", resolver, r.ChanPoint) - r.log = build.NewPrefixLog(logPrefix, log) + r.log = log.WithPrefix(logPrefix) } var ( diff --git a/htlcswitch/link.go b/htlcswitch/link.go index 3eb398c1a..579046005 100644 --- a/htlcswitch/link.go +++ b/htlcswitch/link.go @@ -14,7 +14,6 @@ import ( "github.com/btcsuite/btcd/btcutil" "github.com/btcsuite/btcd/wire" "github.com/btcsuite/btclog/v2" - "github.com/lightningnetwork/lnd/build" "github.com/lightningnetwork/lnd/channeldb" "github.com/lightningnetwork/lnd/channeldb/models" "github.com/lightningnetwork/lnd/contractcourt" @@ -508,7 +507,7 @@ func NewChannelLink(cfg ChannelLinkConfig, channel: channel, hodlMap: make(map[models.CircuitKey]hodlHtlc), hodlQueue: queue.NewConcurrentQueue(10), - log: build.NewPrefixLog(logPrefix, log), + log: log.WithPrefix(logPrefix), flushHooks: newHookMap(), outgoingCommitHooks: newHookMap(), incomingCommitHooks: newHookMap(), diff --git a/htlcswitch/quiescer.go b/htlcswitch/quiescer.go index 5a7622157..27d0deb8c 100644 --- a/htlcswitch/quiescer.go +++ b/htlcswitch/quiescer.go @@ -6,7 +6,6 @@ import ( "time" "github.com/btcsuite/btclog/v2" - "github.com/lightningnetwork/lnd/build" "github.com/lightningnetwork/lnd/fn" "github.com/lightningnetwork/lnd/lntypes" "github.com/lightningnetwork/lnd/lnwire" @@ -178,7 +177,7 @@ func NewQuiescer(cfg QuiescerCfg) Quiescer { return &QuiescerLive{ cfg: cfg, - log: build.NewPrefixLog(logPrefix, log), + log: log.WithPrefix(logPrefix), } } diff --git a/lnwallet/channel.go b/lnwallet/channel.go index 74ecd1745..fe4351c47 100644 --- a/lnwallet/channel.go +++ b/lnwallet/channel.go @@ -23,7 +23,6 @@ import ( "github.com/btcsuite/btcd/wire" "github.com/btcsuite/btclog/v2" "github.com/davecgh/go-spew/spew" - "github.com/lightningnetwork/lnd/build" "github.com/lightningnetwork/lnd/chainntnfs" "github.com/lightningnetwork/lnd/channeldb" "github.com/lightningnetwork/lnd/channeldb/models" @@ -955,7 +954,7 @@ func NewLightningChannel(signer input.Signer, updateLogs: updateLogs, Capacity: state.Capacity, taprootNonceProducer: taprootNonceProducer, - log: build.NewPrefixLog(logPrefix, walletLog), + log: walletLog.WithPrefix(logPrefix), opts: opts, } diff --git a/peer/brontide.go b/peer/brontide.go index 3bae1be1b..bb4c9f96d 100644 --- a/peer/brontide.go +++ b/peer/brontide.go @@ -20,7 +20,6 @@ import ( "github.com/btcsuite/btclog/v2" "github.com/davecgh/go-spew/spew" "github.com/lightningnetwork/lnd/buffer" - "github.com/lightningnetwork/lnd/build" "github.com/lightningnetwork/lnd/chainntnfs" "github.com/lightningnetwork/lnd/channeldb" "github.com/lightningnetwork/lnd/channeldb/models" @@ -624,7 +623,7 @@ func NewBrontide(cfg Config) *Brontide { resentChanSyncMsg: make(map[lnwire.ChannelID]struct{}), startReady: make(chan struct{}), quit: make(chan struct{}), - log: build.NewPrefixLog(logPrefix, peerLog), + log: peerLog.WithPrefix(logPrefix), msgRouter: msgRouter, globalMsgRouter: globalMsgRouter, } diff --git a/routing/missioncontrol.go b/routing/missioncontrol.go index 20aa04907..de892392e 100644 --- a/routing/missioncontrol.go +++ b/routing/missioncontrol.go @@ -11,7 +11,6 @@ import ( "github.com/btcsuite/btcd/btcutil" "github.com/btcsuite/btclog/v2" "github.com/btcsuite/btcwallet/walletdb" - "github.com/lightningnetwork/lnd/build" "github.com/lightningnetwork/lnd/channeldb" "github.com/lightningnetwork/lnd/clock" "github.com/lightningnetwork/lnd/fn" @@ -411,13 +410,13 @@ func (m *MissionController) initMissionControl(namespace string) ( } mc := &MissionControl{ - cfg: m.cfg, - state: newMissionControlState(cfg.MinFailureRelaxInterval), - store: store, - estimator: cfg.Estimator, - log: build.NewPrefixLog( - fmt.Sprintf("[%s]:", namespace), log, + cfg: m.cfg, + state: newMissionControlState( + cfg.MinFailureRelaxInterval, ), + store: store, + estimator: cfg.Estimator, + log: log.WithPrefix(fmt.Sprintf("[%s]:", namespace)), onConfigUpdate: cfg.OnConfigUpdate, } diff --git a/routing/payment_session.go b/routing/payment_session.go index 2ab9e4fd4..3cbacad89 100644 --- a/routing/payment_session.go +++ b/routing/payment_session.go @@ -5,7 +5,6 @@ import ( "github.com/btcsuite/btcd/btcec/v2" "github.com/btcsuite/btclog/v2" - "github.com/lightningnetwork/lnd/build" "github.com/lightningnetwork/lnd/channeldb" "github.com/lightningnetwork/lnd/channeldb/models" "github.com/lightningnetwork/lnd/lnutils" @@ -232,7 +231,7 @@ func newPaymentSession(p *LightningPayment, selfNode route.Vertex, pathFindingConfig: pathFindingConfig, missionControl: missionControl, minShardAmt: DefaultShardMinAmt, - log: build.NewPrefixLog(logPrefix, log), + log: log.WithPrefix(logPrefix), }, nil } diff --git a/watchtower/wtclient/client.go b/watchtower/wtclient/client.go index 6cf5d9114..b3e322faa 100644 --- a/watchtower/wtclient/client.go +++ b/watchtower/wtclient/client.go @@ -12,7 +12,6 @@ import ( "github.com/btcsuite/btcd/btcec/v2" "github.com/btcsuite/btclog/v2" - "github.com/lightningnetwork/lnd/build" "github.com/lightningnetwork/lnd/channeldb" "github.com/lightningnetwork/lnd/keychain" "github.com/lightningnetwork/lnd/lnwallet" @@ -210,9 +209,7 @@ func newClient(cfg *clientCfg) (*client, error) { if err != nil { return nil, err } - prefix := fmt.Sprintf("(%s)", identifier) - - plog := build.NewPrefixLog(prefix, log) + plog := log.WithPrefix(fmt.Sprintf("(%s)", identifier)) queueDB := cfg.DB.GetDBQueue([]byte(identifier)) queue, err := NewDiskOverflowQueue[*wtdb.BackupID](