logging

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Jun 12, 2020 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func String

func String(
	ids []IconWithLabel,
	icons []Icon,
	text ...string,
) string

String returns a log line as a string.

func Write

func Write(
	w io.Writer,
	ids []IconWithLabel,
	icons []Icon,
	text ...string,
) (n int, err error)

Write writes a log line to w.

Types

type Icon

type Icon string

Icon is a unicode symbol used as an icon in log messages.

const (
	// TransactionIDIcon is the icon shown directly before a transaction ID. It
	// is a circle with a dot in the center, intended to be reminiscent of an
	// electron circling a nucleus, indicating "atomicity". There is a unicode
	// atom symbol, however it does not tend to be discernable at smaller font
	// sizes.
	TransactionIDIcon Icon = "⨀"

	// MessageIDIcon is the icon shown directly before a message ID. It is an
	// "equals sign", indicating that this message "has exactly" the displayed
	// ID.
	MessageIDIcon Icon = "="

	// CausationIDIcon is the icon shown directly before a message causation ID.
	// It is the mathematical "because" symbol, indicating that this message
	// happened "because of" the displayed ID.
	CausationIDIcon Icon = "∵"

	// CorrelationIDIcon is the icon shown directly before a message correlation
	// ID. It is the mathematical "member of set" symbol, indicating that this
	// message belongs to the set of messages that came about because of the
	// displayed ID.
	CorrelationIDIcon Icon = "⋲"

	// InboundIcon is the icon shown to indicate that a message is "inbound" to
	// a handler. It is a downward pointing arrow, as inbound messages could be
	// considered as being "downloaded" from the network or queue.
	InboundIcon Icon = "▼"

	// InboundErrorIcon is a variant of InboundIcon used when there is an error
	// condition. It is an hollow version of the regular inbound icon,
	// indicating that the requirement remains "unfulfilled".
	InboundErrorIcon Icon = "▽"

	// OutboundIcon is the icon shown to indicate that a message is "outbound"
	// from a handler. It is an upward pointing arrow, as outbound messages
	// could be considered as being "uploaded" to the network or queue.
	OutboundIcon Icon = "▲"

	// OutboundErrorIcon is a variant of OutboundIcon used when there is an
	// error condition. It is an hollow version of the regular inbound icon,
	// indicating that the requirement remains "unfulfilled".
	OutboundErrorIcon Icon = "△"

	// RetryIcon is an icon used instead of InboundIcon when a message is being
	// re-attempted. It is an open-circle with an arrow, indicating that the
	// message has "come around again".
	RetryIcon Icon = "↻"

	// ErrorIcon is the icon shown when logging information about an error.
	// It is a heavy cross, indicating a failure.
	ErrorIcon Icon = "✖"

	// AggregateIcon is the icon shown when a log message relates to an
	// aggregate message handler. It is the mathematical "therefore" symbol,
	// representing the decision making as a result of the message.
	AggregateIcon Icon = "∴"

	// ProcessIcon is the icon shown when a log message relates to a process
	// message handler. It is three horizontal lines, representing the step in a
	// process.
	ProcessIcon Icon = "≡"

	// IntegrationIcon is the icon shown when a log message relates to an
	// integration message handler. It is the relational algebra "join" symbol,
	// representing the integration of two systems.
	IntegrationIcon Icon = "⨝"

	// ProjectionIcon is the icon shown when a log message relates to a
	// projection message handler. It is the mathematical "sum" symbol ,
	// representing the aggregation of events.
	ProjectionIcon Icon = "Σ"

	// SystemIcon is an icon shown when a log message relates to the internals
	// of the engine. It is a sprocket, representing the inner workings of the
	// machine.
	SystemIcon Icon = "⚙"

	// SeparatorIcon is an icon used to separate strings of unrelated text
	// inside a log message. It is a large bullet, intended to have a large
	// visual impact.
	SeparatorIcon Icon = "●"
)

func DirectionIcon

func DirectionIcon(inbound bool, isError bool) Icon

DirectionIcon returns the icon to use for the given message direction.

func HandlerTypeIcon

func HandlerTypeIcon(t configkit.HandlerType) Icon

HandlerTypeIcon returns the icon to use for the given handler type.

func (Icon) String

func (i Icon) String() string

func (Icon) WithLabel

func (i Icon) WithLabel(f string, v ...interface{}) IconWithLabel

WithLabel return an IconWithLabel containing this icon and the given label.

func (Icon) WriteTo

func (i Icon) WriteTo(w io.Writer) (int64, error)

WriteTo writes a string representation of the icon to w. If i is the zero-value, a single space is rendered.

type IconWithLabel

type IconWithLabel struct {
	Icon  Icon
	Label string
}

IconWithLabel is a container for an icon and its associated text label.

func (IconWithLabel) String

func (i IconWithLabel) String() string

func (IconWithLabel) WriteTo

func (i IconWithLabel) WriteTo(w io.Writer) (_ int64, err error)

WriteTo writes a string representation of the icon and its label to w.

Jump to

Keyboard shortcuts

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