mirror of
https://github.com/livekit/livekit.git
synced 2026-04-01 02:15:39 +00:00
63 lines
1.5 KiB
Go
63 lines
1.5 KiB
Go
package serverlogger
|
|
|
|
import (
|
|
"github.com/pion/logging"
|
|
"go.uber.org/zap/zapcore"
|
|
|
|
"github.com/livekit/protocol/logger"
|
|
|
|
"github.com/livekit/livekit-server/pkg/config"
|
|
)
|
|
|
|
var (
|
|
pionLevel zapcore.Level
|
|
pionIgnoredPrefixes = map[string][]string{
|
|
"ice": {
|
|
"pingAllCandidates called with no candidate pairs",
|
|
"failed to send packet: io: read/write on closed pipe",
|
|
"Ignoring remote candidate with tcpType active",
|
|
"discard message from",
|
|
"Failed to discover mDNS candidate",
|
|
"Failed to read from candidate tcp",
|
|
},
|
|
"pc": {
|
|
"Failed to accept RTCP stream is already closed",
|
|
"Failed to accept RTP stream is already closed",
|
|
"Incoming unhandled RTCP ssrc",
|
|
},
|
|
"tcp_mux": {
|
|
"Error reading first packet from",
|
|
"error closing connection",
|
|
},
|
|
}
|
|
)
|
|
|
|
// implements webrtc.LoggerFactory
|
|
type LoggerFactory struct {
|
|
logger logger.Logger
|
|
}
|
|
|
|
func NewLoggerFactory(logger logger.Logger) *LoggerFactory {
|
|
return &LoggerFactory{
|
|
logger: logger,
|
|
}
|
|
}
|
|
|
|
func (f *LoggerFactory) NewLogger(scope string) logging.LeveledLogger {
|
|
return &logAdapter{
|
|
logger: f.logger.WithName(scope),
|
|
level: pionLevel,
|
|
ignoredPrefixes: pionIgnoredPrefixes[scope],
|
|
}
|
|
}
|
|
|
|
// Note: only pass in logr.Logger with default depth
|
|
func SetLogger(l logger.Logger) {
|
|
logger.SetLogger(l, "livekit")
|
|
}
|
|
|
|
func InitFromConfig(config config.LoggingConfig) {
|
|
pionLevel = logger.ParseZapLevel(config.PionLevel)
|
|
logger.InitFromConfig(config.Config, "livekit")
|
|
}
|