Skip to content

Commit b9614ff

Browse files
committed
peer: Use a dedicated ping logger
This switches the peer to log ping/pong messages using a separate logger with a dedicated subsystem tag. This is useful when running in debug mode for extended periods of time, as ping messages are generally useless but repeat constantly, needlessly growing the size of log files and making debug harder.
1 parent a9cd7e4 commit b9614ff

File tree

3 files changed

+19
-2
lines changed

3 files changed

+19
-2
lines changed

log.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ func SetupLoggers(root *build.RotatingLogWriter, interceptor signal.Interceptor)
139139
AddSubLogger(root, "AUTO", interceptor, automation.UseLogger)
140140
AddSubLogger(root, "PGDB", interceptor, postgres.UseLogger)
141141
AddSubLogger(root, "LCCH", interceptor, localchans.UseLogger)
142+
AddSubLogger(root, "PING", interceptor, peer.UsePingLogger)
142143

143144
AddSubLogger(root, "LNWL", interceptor, lnwallet.UseLogger)
144145
AddSubLogger(root, "DISC", interceptor, discovery.UseLogger)

peer/brontide.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1753,7 +1753,13 @@ func (p *Brontide) logWireMessage(msg lnwire.Message, read bool) {
17531753
summaryPrefix = "Sending"
17541754
}
17551755

1756-
peerLog.Debugf("%v", newLogClosure(func() string {
1756+
logger := peerLog
1757+
switch msg.(type) {
1758+
case *lnwire.Ping, *lnwire.Pong:
1759+
logger = pingLog
1760+
}
1761+
1762+
logger.Debugf("%v", newLogClosure(func() string {
17571763
// Debug summary of message.
17581764
summary := messageSummary(msg)
17591765
if len(summary) > 0 {
@@ -1781,7 +1787,7 @@ func (p *Brontide) logWireMessage(msg lnwire.Message, read bool) {
17811787
prefix = "writeMessage to"
17821788
}
17831789

1784-
peerLog.Tracef(prefix+" %v: %v", p, newLogClosure(func() string {
1790+
logger.Tracef(prefix+" %v: %v", p, newLogClosure(func() string {
17851791
return spew.Sdump(msg)
17861792
}))
17871793
}

peer/log.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,31 @@ import (
88
// peerLog is a logger that is initialized with the slog.Disabled logger.
99
var peerLog slog.Logger
1010

11+
// pingLog is a logger that is used to log sent and received ping/pong
12+
// messages.
13+
var pingLog slog.Logger
14+
1115
// The default amount of logging is none.
1216
func init() {
1317
UseLogger(build.NewSubLogger("PEER", nil))
18+
UseLogger(build.NewSubLogger("PING", nil))
1419
}
1520

1621
// DisableLog disables all logging output.
1722
func DisableLog() {
1823
UseLogger(slog.Disabled)
24+
UsePingLogger(slog.Disabled)
1925
}
2026

2127
// UseLogger uses a specified Logger to output package logging info.
2228
func UseLogger(logger slog.Logger) {
2329
peerLog = logger
2430
}
2531

32+
func UsePingLogger(logger slog.Logger) {
33+
pingLog = logger
34+
}
35+
2636
// logClosure is used to provide a closure over expensive logging operations
2737
// so they aren't performed when the logging level doesn't warrant it.
2838
type logClosure func() string

0 commit comments

Comments
 (0)