log

package
v0.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 15, 2020 License: Apache-2.0 Imports: 8 Imported by: 4

Documentation

Index

Constants

View Source
const (
	DefaultFormat = ""
	JSONFormat    = "JSON"
	TextFormat    = "TEXT"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type HCLogAdapter

type HCLogAdapter struct {
	Log  logrus.FieldLogger
	Name string
}

HCLogAdapter implements the hclog interface, and wraps it around a Logrus entry

func (*HCLogAdapter) CreateEntry

func (a *HCLogAdapter) CreateEntry(args []interface{}) *logrus.Entry

func (*HCLogAdapter) Debug

func (a *HCLogAdapter) Debug(msg string, args ...interface{})

func (*HCLogAdapter) Error

func (a *HCLogAdapter) Error(msg string, args ...interface{})

func (*HCLogAdapter) Info

func (a *HCLogAdapter) Info(msg string, args ...interface{})

func (*HCLogAdapter) IsDebug

func (a *HCLogAdapter) IsDebug() bool

func (*HCLogAdapter) IsError

func (a *HCLogAdapter) IsError() bool

func (*HCLogAdapter) IsInfo

func (a *HCLogAdapter) IsInfo() bool

func (*HCLogAdapter) IsTrace

func (a *HCLogAdapter) IsTrace() bool

func (*HCLogAdapter) IsWarn

func (a *HCLogAdapter) IsWarn() bool

func (*HCLogAdapter) Named

func (a *HCLogAdapter) Named(name string) hclog.Logger

func (*HCLogAdapter) ResetNamed

func (a *HCLogAdapter) ResetNamed(name string) hclog.Logger

func (*HCLogAdapter) SetLevel

func (a *HCLogAdapter) SetLevel(hclog.Level)

func (*HCLogAdapter) StandardLogger

func (a *HCLogAdapter) StandardLogger(opts *hclog.StandardLoggerOptions) *log.Logger

StandardLogger is meant to return a stdlib Logger type which wraps around hclog. It does this by providing an io.Writer and instantiating a new Logger. It then tries to interpret the log level by parsing the message.

Since we are not using `hclog` in a generic way, and I cannot find any calls to this method from go-plugin, we will poorly support this method. Rather than pull in all of hclog writer parsing logic, pass it a Logrus writer, and hardcode the level to INFO.

Apologies to those who find themselves here.

func (*HCLogAdapter) StandardWriter

func (a *HCLogAdapter) StandardWriter(opts *hclog.StandardLoggerOptions) io.Writer

func (*HCLogAdapter) Trace

func (*HCLogAdapter) Trace(_ string, _ ...interface{})

HCLog has one more level than we do. As such, we will never set trace level.

func (*HCLogAdapter) Warn

func (a *HCLogAdapter) Warn(msg string, args ...interface{})

func (*HCLogAdapter) With

func (a *HCLogAdapter) With(args ...interface{}) hclog.Logger

type Logger

type Logger struct {
	*logrus.Logger
	io.Closer
}

func NewLogger

func NewLogger(options ...Option) (*Logger, error)

type Option

type Option func(*Logger) error

An Option can change the Logger to apply desired configuration in NewLogger

func WithFormat

func WithFormat(format string) Option

func WithLevel

func WithLevel(logLevel string) Option

func WithOutputFile

func WithOutputFile(file string) Option

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL