diff --git a/client/internal/peer/ice/logger.go b/client/internal/peer/ice/logger.go new file mode 100644 index 000000000..af669fcde --- /dev/null +++ b/client/internal/peer/ice/logger.go @@ -0,0 +1,67 @@ +package ice + +import ( + "github.com/pion/logging" + log "github.com/sirupsen/logrus" +) + +// logrusLogger is a wrapper that implements the logging.LeveledLogger interface. +type logrusLogger struct { + entry *log.Entry +} + +func (l *logrusLogger) Trace(msg string) { + l.entry.Trace(msg) +} + +func (l *logrusLogger) Tracef(format string, args ...interface{}) { + l.entry.Tracef(format, args...) +} + +func (l *logrusLogger) Debug(msg string) { + l.entry.Debug(msg) +} + +func (l *logrusLogger) Debugf(format string, args ...interface{}) { + l.entry.Debugf(format, args...) +} + +func (l *logrusLogger) Info(msg string) { + l.entry.Info(msg) +} + +func (l *logrusLogger) Infof(format string, args ...interface{}) { + l.entry.Infof(format, args...) +} + +func (l *logrusLogger) Warn(msg string) { + l.entry.Warn(msg) +} + +func (l *logrusLogger) Warnf(format string, args ...interface{}) { + l.entry.Warnf(format, args...) +} + +func (l *logrusLogger) Error(msg string) { + l.entry.Error(msg) +} + +func (l *logrusLogger) Errorf(format string, args ...interface{}) { + l.entry.Errorf(format, args...) +} + +// logrusFactory implements the logging.LoggerFactory interface. +type logrusFactory struct { + logger *log.Logger +} + +// newLogrusFactory returns a new LoggerFactory that creates logrus-based loggers. +func newLogrusFactory(logger *log.Logger) logging.LoggerFactory { + return &logrusFactory{logger: logger} +} + +func (f *logrusFactory) NewLogger(scope string) logging.LeveledLogger { + // Create a new logrus entry with a "scope" field. + entry := f.logger.WithField("scope", scope) + return &logrusLogger{entry: entry} +}