 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
var LdJSONFormatter = func() { logrus.SetFormatter(&PoliteJSONFormatter{}) }
LdJSONFormatter Option formats the event log as line-delimited JSON
var LevelDebug = func() { logrus.SetLevel(logrus.DebugLevel) }
LevelDebug Option sets the log level to debug
var LevelError = func() { logrus.SetLevel(logrus.ErrorLevel) }
LevelDebug Option sets the log level to error
var LevelInfo = func() { logrus.SetLevel(logrus.InfoLevel) }
LevelDebug Option sets the log level to info
var TextFormatter = func() { logrus.SetFormatter(&logrus.TextFormatter{}) }
TextFormatter Option formats the event log as human-readable plain-text
var WriterGroup = new(MirrorWriter)
    Global writer group for logs to output to
Functions ¶
Types ¶
type EventInProgress ¶
type EventInProgress struct {
	// contains filtered or unexported fields
}
    func (*EventInProgress) Append ¶
func (eip *EventInProgress) Append(l Loggable)
Append adds loggables to be included in the call to Done
func (*EventInProgress) Close ¶
func (eip *EventInProgress) Close() error
Close is an alias for done
func (*EventInProgress) Done ¶
func (eip *EventInProgress) Done()
Done creates a new Event entry that includes the duration and appended loggables.
func (*EventInProgress) SetError ¶
func (eip *EventInProgress) SetError(err error)
SetError includes the provided error
type EventLogger ¶
type EventLogger interface {
	StandardLogger
	// Event merges structured data from the provided inputs into a single
	// machine-readable log event.
	//
	// If the context contains metadata, a copy of this is used as the base
	// metadata accumulator.
	//
	// If one or more loggable objects are provided, these are deep-merged into base blob.
	//
	// Next, the event name is added to the blob under the key "event". If
	// the key "event" already exists, it will be over-written.
	//
	// Finally the timestamp and package name are added to the accumulator and
	// the metadata is logged.
	Event(ctx context.Context, event string, m ...Loggable)
	EventBegin(ctx context.Context, event string, m ...Loggable) *EventInProgress
}
    EventLogger extends the StandardLogger interface to allow for log items containing structured metadata
Example ¶
{
	log := EventLogger(nil)
	e := log.EventBegin(context.Background(), "dial")
	e.Done()
}
{
	log := EventLogger(nil)
	e := log.EventBegin(context.Background(), "dial")
	_ = e.Close() // implements io.Closer for convenience
}
type Loggable ¶
type Loggable interface {
	Loggable() map[string]interface{}
}
    Loggable describes objects that can be marshalled into Metadata for logging
type LoggableF ¶
type LoggableF func() map[string]interface{}
LoggableF converts a func into a Loggable
type LoggableMap ¶
type LoggableMap map[string]interface{}
func (LoggableMap) Loggable ¶
func (l LoggableMap) Loggable() map[string]interface{}
type Metadata ¶
type Metadata map[string]interface{}
Metadata is a convenience type for generic maps
func DeepMerge ¶
DeepMerge merges the second Metadata parameter into the first. Nested Metadata are merged recursively. Primitives are over-written.
func Metadatify ¶
Metadatify converts maps into Metadata
func (Metadata) JsonString ¶
type MirrorWriter ¶ added in v0.3.6
type MirrorWriter struct {
	// contains filtered or unexported fields
}
    func (*MirrorWriter) Active ¶ added in v0.3.6
func (mw *MirrorWriter) Active() (active bool)
func (*MirrorWriter) AddWriter ¶ added in v0.3.6
func (mw *MirrorWriter) AddWriter(w io.Writer)
type PoliteJSONFormatter ¶
type PoliteJSONFormatter struct{}
    PoliteJSONFormatter marshals entries into JSON encoded slices (without overwriting user-provided keys). How polite of it!
type StandardLogger ¶
type StandardLogger interface {
	Debug(args ...interface{})
	Debugf(format string, args ...interface{})
	Error(args ...interface{})
	Errorf(format string, args ...interface{})
	Fatal(args ...interface{})
	Fatalf(format string, args ...interface{})
	Info(args ...interface{})
	Infof(format string, args ...interface{})
	Panic(args ...interface{})
	Panicf(format string, args ...interface{})
	Warning(args ...interface{})
	Warningf(format string, args ...interface{})
}
    StandardLogger provides API compatibility with standard printf loggers eg. go-logging