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 }
Output:
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