Documentation ¶
Overview ¶
Package observer provides a zapcore.Core that keeps an in-memory, encoding-agnostic repesentation of log entries. It's useful for applications that want to unit test their log output without tying their tests to a particular output encoding.
Index ¶
- type LoggedEntry
- type ObservedLogs
- func (o *ObservedLogs) All() []LoggedEntry
- func (o *ObservedLogs) AllUntimed() []LoggedEntry
- func (o *ObservedLogs) FilterField(field zapcore.Field) *ObservedLogs
- func (o *ObservedLogs) FilterMessage(msg string) *ObservedLogs
- func (o *ObservedLogs) FilterMessageSnippet(snippet string) *ObservedLogs
- func (o *ObservedLogs) Len() int
- func (o *ObservedLogs) TakeAll() []LoggedEntry
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LoggedEntry ¶
An LoggedEntry is an encoding-agnostic representation of a log message. Field availability is context dependant.
func (LoggedEntry) ContextMap ¶
func (e LoggedEntry) ContextMap() map[string]interface{}
ContextMap returns a map for all fields in Context.
type ObservedLogs ¶
type ObservedLogs struct {
// contains filtered or unexported fields
}
ObservedLogs is a concurrency-safe, ordered collection of observed logs.
func New ¶
func New(enab zapcore.LevelEnabler) (zapcore.Core, *ObservedLogs)
New creates a new Core that buffers logs in memory (without any encoding). It's particularly useful in tests.
func (*ObservedLogs) All ¶
func (o *ObservedLogs) All() []LoggedEntry
All returns a copy of all the observed logs.
func (*ObservedLogs) AllUntimed ¶
func (o *ObservedLogs) AllUntimed() []LoggedEntry
AllUntimed returns a copy of all the observed logs, but overwrites the observed timestamps with time.Time's zero value. This is useful when making assertions in tests.
func (*ObservedLogs) FilterField ¶
func (o *ObservedLogs) FilterField(field zapcore.Field) *ObservedLogs
FilterField filters entries to those that have the specified field.
func (*ObservedLogs) FilterMessage ¶
func (o *ObservedLogs) FilterMessage(msg string) *ObservedLogs
FilterMessage filters entries to those that have the specified message.
func (*ObservedLogs) FilterMessageSnippet ¶
func (o *ObservedLogs) FilterMessageSnippet(snippet string) *ObservedLogs
FilterMessageSnippet filters entries to those that have a message containing the specified snippet.
func (*ObservedLogs) Len ¶
func (o *ObservedLogs) Len() int
Len returns the number of items in the collection.
func (*ObservedLogs) TakeAll ¶
func (o *ObservedLogs) TakeAll() []LoggedEntry
TakeAll returns a copy of all the observed logs, and truncates the observed slice.