mirror of https://github.com/libp2p/go-libp2p.git
Browse Source
Internally pion uses a lot of logger objects. It's better to just share one logger across everything.webrtc-bm
Sukun
8 months ago
committed by
GitHub
4 changed files with 63 additions and 28 deletions
@ -0,0 +1,58 @@ |
|||
package libp2pwebrtc |
|||
|
|||
import ( |
|||
logging "github.com/ipfs/go-log/v2" |
|||
pionLogging "github.com/pion/logging" |
|||
) |
|||
|
|||
var log = logging.Logger("webrtc-transport") |
|||
|
|||
// pionLog is the logger provided to pion for internal logging
|
|||
var pionLog = logging.Logger("webrtc-transport-pion") |
|||
|
|||
// pionLogger wraps the StandardLogger interface to provide a LeveledLogger interface
|
|||
// as expected by pion
|
|||
type pionLogger struct { |
|||
logging.StandardLogger |
|||
} |
|||
|
|||
var pLog = pionLogger{pionLog} |
|||
|
|||
var _ pionLogging.LeveledLogger = pLog |
|||
|
|||
func (l pionLogger) Debug(s string) { |
|||
l.StandardLogger.Debug(s) |
|||
} |
|||
|
|||
func (l pionLogger) Error(s string) { |
|||
l.StandardLogger.Error(s) |
|||
} |
|||
|
|||
func (l pionLogger) Info(s string) { |
|||
l.StandardLogger.Info(s) |
|||
} |
|||
func (l pionLogger) Warn(s string) { |
|||
l.StandardLogger.Warn(s) |
|||
} |
|||
|
|||
func (l pionLogger) Trace(s string) { |
|||
l.StandardLogger.Debug(s) |
|||
} |
|||
|
|||
func (l pionLogger) Tracef(s string, args ...interface{}) { |
|||
l.StandardLogger.Debugf(s, args) |
|||
} |
|||
|
|||
// loggerFactory returns pLog for all new logger instances
|
|||
type loggerFactory struct{} |
|||
|
|||
// NewLogger returns pLog for all new logger instances. Internally pion creates lots of
|
|||
// separate logging objects unnecessarily. To avoid the allocations we use a single log
|
|||
// object for all of pion logging.
|
|||
func (loggerFactory) NewLogger(scope string) pionLogging.LeveledLogger { |
|||
return pLog |
|||
} |
|||
|
|||
var _ pionLogging.LoggerFactory = loggerFactory{} |
|||
|
|||
var pionLoggerFactory = loggerFactory{} |
Loading…
Reference in new issue