Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Classification

type Classification string

    Classification the log entry's classification name

    const (
    	Warn  Classification = "WARN"
    	Debug Classification = "DEBUG"
    )

      Set of standard classifications that can be used by clients and middleware

      type ContextLogger

      type ContextLogger interface {
      	WithContext(context.Context) Logger
      }

        ContextLogger is an optional interface a Logger implementation may expose that provides the ability to create context aware log entries.

        type Logger

        type Logger interface {
        	// Logf is expected to support the standard fmt package "verbs".
        	Logf(classification Classification, format string, v ...interface{})
        }

          Logger is an interface for logging entries at certain classifications.

          func WithContext

          func WithContext(ctx context.Context, logger Logger) Logger

            WithContext will pass the provided context to logger if it implements the ContextLogger interface and return the resulting logger. Otherwise the logger will be returned as is. As a special case if a nil logger is provided, a Nop logger will be returned to the caller.

            type LoggerFunc

            type LoggerFunc func(classification Classification, format string, v ...interface{})

              LoggerFunc is a wrapper around a function to satisfy the Logger interface.

              func (LoggerFunc) Logf

              func (f LoggerFunc) Logf(classification Classification, format string, v ...interface{})

                Logf delegates the logging request to the wrapped function.

                type Nop

                type Nop struct{}

                  Nop is a Logger implementation that simply does not perform any logging.

                  func (Nop) Logf

                  func (n Nop) Logf(Classification, string, ...interface{})

                    Logf simply returns without performing any action

                    type StandardLogger

                    type StandardLogger struct {
                    	Logger *log.Logger
                    }

                      StandardLogger is a Logger implementation that wraps the standard library logger, and delegates logging to it's Printf method.

                      func NewStandardLogger

                      func NewStandardLogger(writer io.Writer) *StandardLogger

                        NewStandardLogger returns a new StandardLogger

                        func (StandardLogger) Logf

                        func (s StandardLogger) Logf(classification Classification, format string, v ...interface{})

                          Logf logs the given classification and message to the underlying logger.

                          Source Files