func LogLineChecksum(line string) string
func Set(logger Logger) (err error)
Set configures the singleton Logger. This method must only be called once, and before calling Get the first time.
A Logger logs messages with explicit priority levels. It is implemented by a logging back-end as provided by New() or NewMock(). Any additions to this interface with format strings should be added to the govet configuration in .golangci.yml
type Logger interface { Err(msg string) Errf(format string, a ...interface{}) Warning(msg string) Warningf(format string, a ...interface{}) Info(msg string) Infof(format string, a ...interface{}) InfoObject(string, interface{}) Debug(msg string) Debugf(format string, a ...interface{}) AuditInfo(msg string) AuditInfof(format string, a ...interface{}) AuditObject(string, interface{}) AuditErr(string) AuditErrf(format string, a ...interface{}) }
func Get() Logger
Get obtains the singleton Logger. If Set has not been called first, this method initializes with basic defaults. The basic defaults cannot error, and subsequent access to an already-set Logger also cannot error, so this method is error-safe.
func New(log *syslog.Writer, stdoutLogLevel int, syslogLogLevel int) (Logger, error)
New returns a new Logger that uses the given syslog.Writer as a backend and also writes to stdout/stderr. It is safe for concurrent use.
func StdoutLogger(level int) Logger
StdoutLogger returns a Logger that writes solely to stdout and stderr. It is safe for concurrent use.
Mock is a logger that stores all log messages in memory to be examined by a test.
type Mock struct {
// contains filtered or unexported fields
}
func NewMock() *Mock
NewMock creates a mock logger.
func UseMock() *Mock
UseMock sets a mock logger as the default logger, and returns it.
func (log *Mock) AuditErr(msg string)
AuditErr can format an error for auditing; it does so at ERR level.
func (log *Mock) AuditErrf(format string, a ...interface{})
AuditErrf can format an error for auditing; it does so at ERR level.
func (log *Mock) AuditInfo(msg string)
AuditInfo sends an INFO-severity message that is prefixed with the audit tag, for special handling at the upstream system logger.
func (log *Mock) AuditInfof(format string, a ...interface{})
AuditInfof sends an INFO-severity message that is prefixed with the audit tag, for special handling at the upstream system logger.
func (log *Mock) AuditObject(msg string, obj interface{})
AuditObject sends an INFO-severity JSON-serialized object message that is prefixed with the audit tag, for special handling at the upstream system logger.
func (m *Mock) Clear()
Clear resets the log buffer.
func (log *Mock) Debug(msg string)
Debug level messages pass through normally.
func (log *Mock) Debugf(format string, a ...interface{})
Debugf level messages pass through normally.
func (log *Mock) Err(msg string)
Err level messages are always marked with the audit tag, for special handling at the upstream system logger.
func (log *Mock) Errf(format string, a ...interface{})
Errf level messages are always marked with the audit tag, for special handling at the upstream system logger.
func (m *Mock) ExpectMatch(reString string) error
func (m *Mock) GetAll() []string
GetAll returns all messages logged since instantiation or the last call to Clear().
The caller must not modify the returned slice or its elements.
func (m *Mock) GetAllMatching(reString string) []string
GetAllMatching returns all messages logged since instantiation or the last Clear() whose text matches the given regexp. The regexp is accepted as a string and compiled on the fly, because convenience is more important than performance.
The caller must not modify the elements of the returned slice.
func (log *Mock) Info(msg string)
Info level messages pass through normally.
func (log *Mock) InfoObject(msg string, obj interface{})
InfoObject logs an INFO level JSON-serialized object message.
func (log *Mock) Infof(format string, a ...interface{})
Infof level messages pass through normally.
func (log *Mock) Warning(msg string)
Warning level messages pass through normally.
func (log *Mock) Warningf(format string, a ...interface{})
Warningf level messages pass through normally.
WaitingMock is a logger that stores all messages in memory to be examined by a test with methods
type WaitingMock struct {
// contains filtered or unexported fields
}
func NewWaitingMock() *WaitingMock
NewWaitingMock creates a mock logger implementing the writer interface. It stores all logged messages in a buffer for inspection by test functions.
func (log *WaitingMock) AuditErr(msg string)
AuditErr can format an error for auditing; it does so at ERR level.
func (log *WaitingMock) AuditErrf(format string, a ...interface{})
AuditErrf can format an error for auditing; it does so at ERR level.
func (log *WaitingMock) AuditInfo(msg string)
AuditInfo sends an INFO-severity message that is prefixed with the audit tag, for special handling at the upstream system logger.
func (log *WaitingMock) AuditInfof(format string, a ...interface{})
AuditInfof sends an INFO-severity message that is prefixed with the audit tag, for special handling at the upstream system logger.
func (log *WaitingMock) AuditObject(msg string, obj interface{})
AuditObject sends an INFO-severity JSON-serialized object message that is prefixed with the audit tag, for special handling at the upstream system logger.
func (log *WaitingMock) Debug(msg string)
Debug level messages pass through normally.
func (log *WaitingMock) Debugf(format string, a ...interface{})
Debugf level messages pass through normally.
func (log *WaitingMock) Err(msg string)
Err level messages are always marked with the audit tag, for special handling at the upstream system logger.
func (log *WaitingMock) Errf(format string, a ...interface{})
Errf level messages are always marked with the audit tag, for special handling at the upstream system logger.
func (log *WaitingMock) Info(msg string)
Info level messages pass through normally.
func (log *WaitingMock) InfoObject(msg string, obj interface{})
InfoObject logs an INFO level JSON-serialized object message.
func (log *WaitingMock) Infof(format string, a ...interface{})
Infof level messages pass through normally.
func (m *WaitingMock) WaitForMatch(reString string, timeout time.Duration) (string, error)
WaitForMatch returns the first log line matching a regex. It accepts a regexp string and timeout. If the timeout value is met before the matching pattern is read from the channel, an error is returned.
func (log *WaitingMock) Warning(msg string)
Warning level messages pass through normally.
func (log *WaitingMock) Warningf(format string, a ...interface{})
Warningf level messages pass through normally.