Blame vendor/github.com/aws/aws-sdk-go/aws/logger.go

Packit Service 4d2de5
package aws
Packit Service 4d2de5
Packit Service 4d2de5
import (
Packit Service 4d2de5
	"log"
Packit Service 4d2de5
	"os"
Packit Service 4d2de5
)
Packit Service 4d2de5
Packit Service 4d2de5
// A LogLevelType defines the level logging should be performed at. Used to instruct
Packit Service 4d2de5
// the SDK which statements should be logged.
Packit Service 4d2de5
type LogLevelType uint
Packit Service 4d2de5
Packit Service 4d2de5
// LogLevel returns the pointer to a LogLevel. Should be used to workaround
Packit Service 4d2de5
// not being able to take the address of a non-composite literal.
Packit Service 4d2de5
func LogLevel(l LogLevelType) *LogLevelType {
Packit Service 4d2de5
	return &l
Packit Service 4d2de5
}
Packit Service 4d2de5
Packit Service 4d2de5
// Value returns the LogLevel value or the default value LogOff if the LogLevel
Packit Service 4d2de5
// is nil. Safe to use on nil value LogLevelTypes.
Packit Service 4d2de5
func (l *LogLevelType) Value() LogLevelType {
Packit Service 4d2de5
	if l != nil {
Packit Service 4d2de5
		return *l
Packit Service 4d2de5
	}
Packit Service 4d2de5
	return LogOff
Packit Service 4d2de5
}
Packit Service 4d2de5
Packit Service 4d2de5
// Matches returns true if the v LogLevel is enabled by this LogLevel. Should be
Packit Service 4d2de5
// used with logging sub levels. Is safe to use on nil value LogLevelTypes. If
Packit Service 4d2de5
// LogLevel is nil, will default to LogOff comparison.
Packit Service 4d2de5
func (l *LogLevelType) Matches(v LogLevelType) bool {
Packit Service 4d2de5
	c := l.Value()
Packit Service 4d2de5
	return c&v == v
Packit Service 4d2de5
}
Packit Service 4d2de5
Packit Service 4d2de5
// AtLeast returns true if this LogLevel is at least high enough to satisfies v.
Packit Service 4d2de5
// Is safe to use on nil value LogLevelTypes. If LogLevel is nil, will default
Packit Service 4d2de5
// to LogOff comparison.
Packit Service 4d2de5
func (l *LogLevelType) AtLeast(v LogLevelType) bool {
Packit Service 4d2de5
	c := l.Value()
Packit Service 4d2de5
	return c >= v
Packit Service 4d2de5
}
Packit Service 4d2de5
Packit Service 4d2de5
const (
Packit Service 4d2de5
	// LogOff states that no logging should be performed by the SDK. This is the
Packit Service 4d2de5
	// default state of the SDK, and should be use to disable all logging.
Packit Service 4d2de5
	LogOff LogLevelType = iota * 0x1000
Packit Service 4d2de5
Packit Service 4d2de5
	// LogDebug state that debug output should be logged by the SDK. This should
Packit Service 4d2de5
	// be used to inspect request made and responses received.
Packit Service 4d2de5
	LogDebug
Packit Service 4d2de5
)
Packit Service 4d2de5
Packit Service 4d2de5
// Debug Logging Sub Levels
Packit Service 4d2de5
const (
Packit Service 4d2de5
	// LogDebugWithSigning states that the SDK should log request signing and
Packit Service 4d2de5
	// presigning events. This should be used to log the signing details of
Packit Service 4d2de5
	// requests for debugging. Will also enable LogDebug.
Packit Service 4d2de5
	LogDebugWithSigning LogLevelType = LogDebug | (1 << iota)
Packit Service 4d2de5
Packit Service 4d2de5
	// LogDebugWithHTTPBody states the SDK should log HTTP request and response
Packit Service 4d2de5
	// HTTP bodys in addition to the headers and path. This should be used to
Packit Service 4d2de5
	// see the body content of requests and responses made while using the SDK
Packit Service 4d2de5
	// Will also enable LogDebug.
Packit Service 4d2de5
	LogDebugWithHTTPBody
Packit Service 4d2de5
Packit Service 4d2de5
	// LogDebugWithRequestRetries states the SDK should log when service requests will
Packit Service 4d2de5
	// be retried. This should be used to log when you want to log when service
Packit Service 4d2de5
	// requests are being retried. Will also enable LogDebug.
Packit Service 4d2de5
	LogDebugWithRequestRetries
Packit Service 4d2de5
Packit Service 4d2de5
	// LogDebugWithRequestErrors states the SDK should log when service requests fail
Packit Service 4d2de5
	// to build, send, validate, or unmarshal.
Packit Service 4d2de5
	LogDebugWithRequestErrors
Packit Service 4d2de5
Packit Service 4d2de5
	// LogDebugWithEventStreamBody states the SDK should log EventStream
Packit Service 4d2de5
	// request and response bodys. This should be used to log the EventStream
Packit Service 4d2de5
	// wire unmarshaled message content of requests and responses made while
Packit Service 4d2de5
	// using the SDK Will also enable LogDebug.
Packit Service 4d2de5
	LogDebugWithEventStreamBody
Packit Service 4d2de5
)
Packit Service 4d2de5
Packit Service 4d2de5
// A Logger is a minimalistic interface for the SDK to log messages to. Should
Packit Service 4d2de5
// be used to provide custom logging writers for the SDK to use.
Packit Service 4d2de5
type Logger interface {
Packit Service 4d2de5
	Log(...interface{})
Packit Service 4d2de5
}
Packit Service 4d2de5
Packit Service 4d2de5
// A LoggerFunc is a convenience type to convert a function taking a variadic
Packit Service 4d2de5
// list of arguments and wrap it so the Logger interface can be used.
Packit Service 4d2de5
//
Packit Service 4d2de5
// Example:
Packit Service 4d2de5
//     s3.New(sess, &aws.Config{Logger: aws.LoggerFunc(func(args ...interface{}) {
Packit Service 4d2de5
//         fmt.Fprintln(os.Stdout, args...)
Packit Service 4d2de5
//     })})
Packit Service 4d2de5
type LoggerFunc func(...interface{})
Packit Service 4d2de5
Packit Service 4d2de5
// Log calls the wrapped function with the arguments provided
Packit Service 4d2de5
func (f LoggerFunc) Log(args ...interface{}) {
Packit Service 4d2de5
	f(args...)
Packit Service 4d2de5
}
Packit Service 4d2de5
Packit Service 4d2de5
// NewDefaultLogger returns a Logger which will write log messages to stdout, and
Packit Service 4d2de5
// use same formatting runes as the stdlib log.Logger
Packit Service 4d2de5
func NewDefaultLogger() Logger {
Packit Service 4d2de5
	return &defaultLogger{
Packit Service 4d2de5
		logger: log.New(os.Stdout, "", log.LstdFlags),
Packit Service 4d2de5
	}
Packit Service 4d2de5
}
Packit Service 4d2de5
Packit Service 4d2de5
// A defaultLogger provides a minimalistic logger satisfying the Logger interface.
Packit Service 4d2de5
type defaultLogger struct {
Packit Service 4d2de5
	logger *log.Logger
Packit Service 4d2de5
}
Packit Service 4d2de5
Packit Service 4d2de5
// Log logs the parameters to the stdlib logger. See log.Println.
Packit Service 4d2de5
func (l defaultLogger) Log(args ...interface{}) {
Packit Service 4d2de5
	l.logger.Println(args...)
Packit Service 4d2de5
}