Documentation ¶
Index ¶
- func Set(logger Logger) (err error)
- type Logger
- type Mock
- func (log *Mock) AuditErr(msg string)
- func (log *Mock) AuditErrf(format string, a ...interface{})
- func (log *Mock) AuditInfo(msg string)
- func (log *Mock) AuditInfof(format string, a ...interface{})
- func (log *Mock) AuditObject(msg string, obj interface{})
- func (log *Mock) AuditPanic()
- func (m *Mock) Clear()
- func (log *Mock) Debug(msg string)
- func (log *Mock) Debugf(format string, a ...interface{})
- func (log *Mock) Err(msg string)
- func (log *Mock) Errf(format string, a ...interface{})
- func (m *Mock) GetAll() []string
- func (m *Mock) GetAllMatching(reString string) []string
- func (log *Mock) Info(msg string)
- func (log *Mock) Infof(format string, a ...interface{})
- func (log *Mock) Warning(msg string)
- func (log *Mock) Warningf(format string, a ...interface{})
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Logger ¶
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{}) Debug(msg string) Debugf(format string, a ...interface{}) AuditPanic() AuditInfo(msg string) AuditInfof(format string, a ...interface{}) AuditObject(string, interface{}) AuditErr(string) AuditErrf(format string, a ...interface{}) }
A Logger logs messages with explicit priority levels. It is implemented by a logging back-end as provided by New() or NewMock().
Example ¶
// Write all logs to UDP on a high port so as to not bother the system // which is running the test writer, err := syslog.Dial("udp", "127.0.0.1:65530", syslog.LOG_INFO|syslog.LOG_LOCAL0, "") if err != nil { log.Fatal(err) } logger, err := New(writer, stdoutLevel, syslogLevel) if err != nil { log.Fatal(err) } impl, ok := logger.(*impl) if !ok { log.Fatalf("Wrong type returned from New: %T", logger) } bw, ok := impl.w.(*bothWriter) if !ok { log.Fatalf("Wrong type of impl's writer: %T\n", impl.w) } bw.clk = clock.NewFake() impl.AuditErr("Error Audit") impl.Warning("Warning Audit")
Output: �[31m�[1mE000000 log.test [AUDIT] Error Audit�[0m �[33mW000000 log.test Warning Audit�[0m
type Mock ¶
type Mock struct {
// contains filtered or unexported fields
}
Mock is a logger that stores all log messages in memory to be examined by a test.
func UseMock ¶
func UseMock() *Mock
UseMock sets a mock logger as the default logger, and returns it.
func (*Mock) AuditErr ¶
func (log *Mock) AuditErr(msg string)
AuditErr can format an error for auditing; it does so at ERR level.
func (*Mock) AuditErrf ¶
func (log *Mock) AuditErrf(format string, a ...interface{})
AuditErrf can format an error for auditing; it does so at ERR level.
func (*Mock) AuditInfo ¶
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 (*Mock) AuditInfof ¶
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 (*Mock) AuditObject ¶
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 (*Mock) AuditPanic ¶
func (log *Mock) AuditPanic()
AuditPanic catches panicking executables. This method should be added in a defer statement as early as possible
func (*Mock) Debugf ¶
func (log *Mock) Debugf(format string, a ...interface{})
Debugf level messages pass through normally.
func (*Mock) Err ¶
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 (*Mock) Errf ¶
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 (*Mock) GetAll ¶
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 (*Mock) GetAllMatching ¶
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 (*Mock) Infof ¶
func (log *Mock) Infof(format string, a ...interface{})
Infof level messages pass through normally.