Files
livekit/pkg/logger/logger.go
David Zhao b821a0997d Use common logging init functions (#633)
* Use common logging init functions

* update protocol commit

* fix tests
2022-04-20 00:15:11 -07:00

47 lines
919 B
Go

package serverlogger
import (
"github.com/go-logr/logr"
"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
)
// implements webrtc.LoggerFactory
type LoggerFactory struct {
logger logr.Logger
}
func NewLoggerFactory(logger logr.Logger) *LoggerFactory {
if logger.GetSink() == nil {
logger = logr.Discard()
}
return &LoggerFactory{
logger: logger,
}
}
func (f *LoggerFactory) NewLogger(scope string) logging.LeveledLogger {
return &logAdapter{
logger: f.logger.WithName(scope),
level: pionLevel,
}
}
// Note: only pass in logr.Logger with default depth
func SetLogger(l logr.Logger) {
logger.SetLogger(l, "livekit")
}
func InitFromConfig(config config.LoggingConfig) {
pionLevel = logger.ParseZapLevel(config.PionLevel)
logger.InitFromConfig(config.Config, "livekit")
}