Skip to content

Commit 272c0b0

Browse files
committed
Make pion logger properly lazy
1 parent ab10cea commit 272c0b0

File tree

5 files changed

+26
-28
lines changed

5 files changed

+26
-28
lines changed

internal/logging/pion.go

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,59 +5,57 @@ import (
55
)
66

77
type pionLogger struct {
8-
logger *Context
8+
logger func() *Context
99
}
1010

1111
func (c pionLogger) Trace(msg string) {
12-
c.logger.Trace().Msg(msg)
12+
c.logger().Trace().Msg(msg)
1313
}
1414
func (c pionLogger) Tracef(format string, args ...any) {
15-
c.logger.Trace().Msgf(format, args...)
15+
c.logger().Trace().Msgf(format, args...)
1616
}
1717

1818
func (c pionLogger) Debug(msg string) {
19-
c.logger.Debug().Msg(msg)
19+
c.logger().Debug().Msg(msg)
2020
}
2121
func (c pionLogger) Debugf(format string, args ...any) {
22-
c.logger.Debug().Msgf(format, args...)
22+
c.logger().Debug().Msgf(format, args...)
2323
}
2424

2525
func (c pionLogger) Info(msg string) {
26-
c.logger.Info().Msg(msg)
26+
c.logger().Info().Msg(msg)
2727
}
2828
func (c pionLogger) Infof(format string, args ...any) {
29-
c.logger.Info().Msgf(format, args...)
29+
c.logger().Info().Msgf(format, args...)
3030
}
3131

3232
func (c pionLogger) Warn(msg string) {
33-
c.logger.Warn().Msg(msg)
33+
c.logger().Warn().Msg(msg)
3434
}
3535
func (c pionLogger) Warnf(format string, args ...any) {
36-
c.logger.Warn().Msgf(format, args...)
36+
c.logger().Warn().Msgf(format, args...)
3737
}
3838

3939
func (c pionLogger) Error(msg string) {
40-
c.logger.Error().Msg(msg)
40+
c.logger().Error().Msg(msg)
4141
}
4242
func (c pionLogger) Errorf(format string, args ...any) {
43-
c.logger.Error().Msgf(format, args...)
43+
c.logger().Error().Msgf(format, args...)
4444
}
4545

4646
// customLoggerFactory satisfies the interface logging.LoggerFactory
4747
// This allows us to create different loggers per subsystem. So we can
4848
// add custom behavior.
49-
type pionLoggerFactory struct{}
50-
51-
func (c pionLoggerFactory) NewLogger(subsystem string) logging.LeveledLogger {
52-
logger := GetSubsystemLogger("pion").
53-
With().
54-
Str("component", subsystem)
55-
56-
return pionLogger{logger: logger}
49+
type pionLoggerFactory struct {
50+
subsystem string
5751
}
5852

59-
var defaultLoggerFactory = &pionLoggerFactory{}
53+
func (c pionLoggerFactory) NewLogger(component string) logging.LeveledLogger {
54+
return pionLogger{logger: func() *Context {
55+
return GetSubsystemLogger(c.subsystem).Str("component", component)
56+
}}
57+
}
6058

61-
func GetPionDefaultLoggerFactory() logging.LoggerFactory {
62-
return defaultLoggerFactory
59+
func GetPionLoggerFactory(subsystem string) logging.LoggerFactory {
60+
return &pionLoggerFactory{subsystem:
6361
}

internal/mdns/log.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import (
44
"github.com/jetkvm/kvm/internal/logging"
55
)
66

7-
func (m *MDNS) getMdnsLoggingContext() *logging.Context {
7+
func (m *MDNS) getMdnsLogger() *logging.Context {
88
return logging.GetSubsystemLogger("mdns").
99
Strs("local_names", m.localNames).
1010
Bool("ipv4", m.listenOptions.IPv4).

internal/mdns/mdns.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ func (m *MDNS) start(allowRestart bool) error {
6767
return fmt.Errorf("listen options not set")
6868
}
6969

70-
context := m.getMdnsLoggingContext()
70+
context := m.getMdnsLogger()
7171

7272
if !m.listenOptions.IPv4 && !m.listenOptions.IPv6 {
7373
context.Info().Msg("mDNS server disabled")
@@ -120,7 +120,7 @@ func (m *MDNS) start(allowRestart bool) error {
120120

121121
mDNSConn, err := pion_mdns.Server(p4, p6, &pion_mdns.Config{
122122
LocalNames: newLocalNames,
123-
LoggerFactory: logging.GetPionDefaultLoggerFactory(),
123+
LoggerFactory: logging.GetPionLoggerFactory("mdns"),
124124
})
125125

126126
context = context.Interface("mDNSConn", mDNSConn).Err(err)

pkg/nmlite/interface.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,8 @@ func NewInterfaceManager(ctx context.Context, ifaceName string, config *types.Ne
102102
func (im *InterfaceManager) getLogger() *logging.Context {
103103
logger := logging.GetSubsystemLogger("interface").Str("interface", im.ifaceName)
104104

105-
if logger.IsDebugLevel() {
106-
logger = logger.Interface("state", im.state).Interface("linkState", im.linkState)
105+
if logger.IsTraceLevel() {
106+
logger = logger.Interface("state", im.state)
107107
}
108108

109109
return logger

webrtc.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ func getOnHidMessageHandler(session *Session, loggingContext *logging.Context, c
200200

201201
func newSession(config SessionConfig) (*Session, error) {
202202
webrtcSettingEngine := webrtc.SettingEngine{
203-
LoggerFactory: logging.GetPionDefaultLoggerFactory(),
203+
LoggerFactory: logging.GetPionLoggerFactory("webrtc"),
204204
}
205205
iceServer := webrtc.ICEServer{}
206206

0 commit comments

Comments
 (0)