github.com/drone/runner-go@v1.12.0/logger/logger.go (about)

     1  // Copyright 2019 Drone.IO Inc. All rights reserved.
     2  // Use of this source code is governed by the Polyform License
     3  // that can be found in the LICENSE file.
     4  
     5  // Package logger defines interfaces that logger drivers
     6  // implement to log messages.
     7  package logger
     8  
     9  // A Logger represents an active logging object that generates
    10  // lines of output to an io.Writer.
    11  type Logger interface {
    12  	Debug(args ...interface{})
    13  	Debugf(format string, args ...interface{})
    14  	Debugln(args ...interface{})
    15  
    16  	Error(args ...interface{})
    17  	Errorf(format string, args ...interface{})
    18  	Errorln(args ...interface{})
    19  
    20  	Info(args ...interface{})
    21  	Infof(format string, args ...interface{})
    22  	Infoln(args ...interface{})
    23  
    24  	Trace(args ...interface{})
    25  	Tracef(format string, args ...interface{})
    26  	Traceln(args ...interface{})
    27  
    28  	Warn(args ...interface{})
    29  	Warnf(format string, args ...interface{})
    30  	Warnln(args ...interface{})
    31  
    32  	WithError(error) Logger
    33  	WithField(string, interface{}) Logger
    34  }
    35  
    36  // Default returns the default logger.
    37  var Default = Discard()
    38  
    39  // Discard returns a no-op logger
    40  func Discard() Logger {
    41  	return &discard{}
    42  }
    43  
    44  type discard struct{}
    45  
    46  func (*discard) Debug(args ...interface{})                 {}
    47  func (*discard) Debugf(format string, args ...interface{}) {}
    48  func (*discard) Debugln(args ...interface{})               {}
    49  func (*discard) Error(args ...interface{})                 {}
    50  func (*discard) Errorf(format string, args ...interface{}) {}
    51  func (*discard) Errorln(args ...interface{})               {}
    52  func (*discard) Info(args ...interface{})                  {}
    53  func (*discard) Infof(format string, args ...interface{})  {}
    54  func (*discard) Infoln(args ...interface{})                {}
    55  func (*discard) Trace(args ...interface{})                 {}
    56  func (*discard) Tracef(format string, args ...interface{}) {}
    57  func (*discard) Traceln(args ...interface{})               {}
    58  func (*discard) Warn(args ...interface{})                  {}
    59  func (*discard) Warnf(format string, args ...interface{})  {}
    60  func (*discard) Warnln(args ...interface{})                {}
    61  func (d *discard) WithError(error) Logger                  { return d }
    62  func (d *discard) WithField(string, interface{}) Logger    { return d }