dlog

package
v3.3.0 Latest Latest
Warning

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

Go to latest
Published: Jul 5, 2023 License: Apache-2.0 Imports: 9 Imported by: 3

Documentation

Index

Constants

View Source
const Key key = 0

Key references an existing log event inside a context.

Variables

This section is empty.

Functions

func Context

func Context(ctx context.Context, provider *Provider) context.Context

Context adds a log provider to the current context.

Types

type ConsoleFormatter

type ConsoleFormatter struct{}

ConsoleFormatter formats an event into a colour formatted human readable text.

func NewConsoleFormatter

func NewConsoleFormatter() *ConsoleFormatter

func (*ConsoleFormatter) Format

func (f *ConsoleFormatter) Format(e Event) string

Format formats a log event into the Stackdriver specific JSON schema.

type Event

type Event struct {
	// contains filtered or unexported fields
}

func New

func New(ctx context.Context) Event

New creates a new event from a given context.

func (Event) Alert

func (e Event) Alert() Event

Alert sets the log level as alert.

func (Event) Critical

func (e Event) Critical() Event

Critical sets the log level as critical.

func (Event) Data

func (e Event) Data(key string, value interface{}) Event

func (Event) Debug

func (e Event) Debug() Event

Debug sets the log level as debug.

func (Event) Emergency

func (e Event) Emergency() Event

Emergency sets the log level as emergency.

func (Event) Err

func (e Event) Err(err error) Event

func (Event) Error

func (e Event) Error() Event

Error sets the log level as error.

func (Event) Fmt

func (e Event) Fmt(format string, args ...interface{})

Fmt emits a formatted log event message.

func (Event) Info

func (e Event) Info() Event

Info sets the log level as info.

func (Event) Msg

func (e Event) Msg(message string)

Msg emits a log event message.

func (Event) Notice

func (e Event) Notice() Event

Notice sets the log level as notice.

func (Event) SetProvider

func (e Event) SetProvider(p *Provider) Event

func (Event) SpanID

func (e Event) SpanID(spanID trace.SpanID) Event

func (Event) TraceID

func (e Event) TraceID(traceID trace.ID) Event

func (Event) Warning

func (e Event) Warning() Event

Warning sets the log level as warning.

type Exporter

type Exporter interface {
	Export(string)
}

Exporter emits log messages to an output source.

type Filter

type Filter interface {
	CanWrite(msg string) bool
}

Filter determines if a log message may be written or not.

func NewFilter

func NewFilter(filter func(string) bool) Filter

NewFilter creates a new Filter from an existing function.

func NoFilter

func NoFilter() Filter

NoFilter returns a new Filter which logs all messages.

type FilterFunc

type FilterFunc func(string) bool

FilterFunc implements the Filter interface for a function of type func(string) bool.

func (FilterFunc) CanWrite

func (f FilterFunc) CanWrite(msg string) bool

type Formatter

type Formatter interface {
	Format(Event) string
}

Formatter can format a log event into a string.

type Level

type Level int

Level denotes the importance of a log event.

const (
	// Default means that the log event has no assigned log level.
	Default Level = iota * 100
	// Debug or trace information.
	Debug
	// Info events are routine information, such as ongoing status or performance.
	Info
	// Notice are normal but significant events, such as start up, shut down, or a configuration change.
	Notice
	// Warning events might cause problems.
	Warning
	// Error events are likely to cause problems.
	Error
	// Critical events cause more severe problems or outages.
	Critical
	// Alert events mean that a person must take an action immediately.
	Alert
	// Emergency means that one or more systems are unusable.
	Emergency
)

func ParseLevel

func ParseLevel(value string) Level

ParseLevel parses a string value into a log level.

func (Level) Short

func (lvl Level) Short() string

Short returns a 3 letter acronym for the log level.

func (Level) String

func (lvl Level) String() string

type Provider

type Provider struct {
	// contains filtered or unexported fields
}

func GetProvider

func GetProvider(ctx context.Context) *Provider

GetProvider tries to get a previously saved log event.

func NewProvider

func NewProvider() *Provider

func (*Provider) AddLabel

func (p *Provider) AddLabel(key, value string) *Provider

func (*Provider) SetExporter

func (p *Provider) SetExporter(exporter Exporter) *Provider

func (*Provider) SetFilter

func (p *Provider) SetFilter(filter Filter) *Provider

func (*Provider) SetFormatter

func (p *Provider) SetFormatter(formatter Formatter) *Provider

func (*Provider) SetHTTPRequest

func (p *Provider) SetHTTPRequest(r *http.Request) *Provider

func (*Provider) SetMinLogLevel

func (p *Provider) SetMinLogLevel(minLevel Level) *Provider

func (*Provider) SetServiceName

func (p *Provider) SetServiceName(name string) *Provider

func (*Provider) SetServiceVersion

func (p *Provider) SetServiceVersion(version string) *Provider

type StackdriverFormatter

type StackdriverFormatter struct{}

StackdriverFormatter formats an event into the Stackdriver specific JSON format.

func NewStackdriverFormatter

func NewStackdriverFormatter() *StackdriverFormatter

func (*StackdriverFormatter) Format

func (f *StackdriverFormatter) Format(e Event) string

Format formats a log event into the Stackdriver specific JSON schema.

type StdoutExporter

type StdoutExporter struct{}

StdoutExporter emits log events to stdout.

func NewStdoutExporter

func NewStdoutExporter() *StdoutExporter

func (*StdoutExporter) Export

func (e *StdoutExporter) Export(output string)

Export writes the output directly to stdout.

Jump to

Keyboard shortcuts

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