Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 93ce57e

Browse files
committed
Add pion logging
1 parent 65c58c3 commit 93ce57e

File tree

2 files changed

+59
-4
lines changed

2 files changed

+59
-4
lines changed

peer/conn.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
"sync"
1010
"time"
1111

12-
"github.com/pion/logging"
1312
"github.com/pion/webrtc/v3"
1413
"go.uber.org/atomic"
1514
"golang.org/x/xerrors"
@@ -52,9 +51,7 @@ func newWithClientOrServer(servers []webrtc.ICEServer, client bool, opts *ConnOp
5251
// Enables preference to STUN.
5352
opts.SettingEngine.SetSrflxAcceptanceMinWait(0)
5453
opts.SettingEngine.DetachDataChannels()
55-
lf := logging.NewDefaultLoggerFactory()
56-
lf.DefaultLogLevel = logging.LogLevelDisabled
57-
opts.SettingEngine.LoggerFactory = lf
54+
opts.SettingEngine.LoggerFactory = &pionLoggerFactory{opts.Logger}
5855
api := webrtc.NewAPI(webrtc.WithSettingEngine(opts.SettingEngine))
5956
rtc, err := api.NewPeerConnection(webrtc.Configuration{
6057
ICEServers: servers,
@@ -224,6 +221,10 @@ func (c *Conn) init() error {
224221
c.opts.Logger.Debug(context.Background(), "dtls transport state updated",
225222
slog.F("state", dtlsTransportState))
226223
})
224+
c.rtc.SCTP().Transport().ICETransport().OnSelectedCandidatePairChange(func(candidatePair *webrtc.ICECandidatePair) {
225+
c.opts.Logger.Debug(context.Background(), "selected candidate pair changed",
226+
slog.F("local", candidatePair.Local), slog.F("remote", candidatePair.Remote))
227+
})
227228
c.rtc.OnICECandidate(func(iceCandidate *webrtc.ICECandidate) {
228229
if iceCandidate == nil {
229230
return

peer/logger.go

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package peer
2+
3+
import (
4+
"context"
5+
"fmt"
6+
7+
"github.com/pion/logging"
8+
9+
"cdr.dev/slog"
10+
)
11+
12+
type pionLoggerFactory struct {
13+
Logger slog.Logger
14+
}
15+
16+
func (p *pionLoggerFactory) NewLogger(_ string) logging.LeveledLogger {
17+
return &pionLogger{
18+
Logger: p.Logger.Named("pion"),
19+
}
20+
}
21+
22+
type pionLogger struct {
23+
Logger slog.Logger
24+
}
25+
26+
// These are too verbose!
27+
func (*pionLogger) Trace(_ string) {}
28+
func (*pionLogger) Tracef(_ string, _ ...interface{}) {}
29+
func (*pionLogger) Debug(_ string) {}
30+
func (*pionLogger) Debugf(_ string, _ ...interface{}) {}
31+
32+
func (p *pionLogger) Info(msg string) {
33+
p.Logger.Info(context.Background(), msg)
34+
}
35+
36+
func (p *pionLogger) Infof(format string, args ...interface{}) {
37+
p.Logger.Info(context.Background(), fmt.Sprintf(format, args...))
38+
}
39+
40+
func (p *pionLogger) Warn(msg string) {
41+
p.Logger.Warn(context.Background(), msg)
42+
}
43+
44+
func (p *pionLogger) Warnf(format string, args ...interface{}) {
45+
p.Logger.Warn(context.Background(), fmt.Sprintf(format, args...))
46+
}
47+
48+
func (p *pionLogger) Error(msg string) {
49+
p.Logger.Error(context.Background(), msg)
50+
}
51+
52+
func (p *pionLogger) Errorf(format string, args ...interface{}) {
53+
p.Logger.Error(context.Background(), fmt.Sprintf(format, args...))
54+
}

0 commit comments

Comments
 (0)