multi: remove PrefixLog

And instead use the new btclog Logger `WithPrefix` method.
This commit is contained in:
Elle Mouton 2024-11-25 12:11:32 +02:00
parent b98fc168ec
commit c2923e2214
No known key found for this signature in database
GPG key ID: D7D916376026F177
9 changed files with 13 additions and 203 deletions

View file

@ -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{}

View file

@ -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 (

View file

@ -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(),

View file

@ -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),
}
}

View file

@ -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,
}

View file

@ -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,
}

View file

@ -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,
}

View file

@ -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
}

View file

@ -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](