-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathhandler.go
27 lines (24 loc) · 977 Bytes
/
handler.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package logg
// Handler is used to handle log events, outputting them to
// stdio or sending them to remote services. See the "handlers"
// directory for implementations.
//
// It is left up to Handlers to implement thread-safety.
type Handler interface {
// HandleLog is invoked for each log event.
// Note that if the Entry is going to be used after the call to HandleLog
// in the handler chain returns, it must be cloned with Clone(). See
// the memory.Handler implementation for an example.
//
// The Entry can be modified if needed, e.g. when passed down via
// a multi.Handler (e.g. to sanitize the data).
HandleLog(e *Entry) error
}
// The HandlerFunc type is an adapter to allow the use of ordinary functions as
// log handlers. If f is a function with the appropriate signature,
// HandlerFunc(f) is a Handler object that calls f.
type HandlerFunc func(*Entry) error
// HandleLog calls f(e).
func (f HandlerFunc) HandleLog(e *Entry) error {
return f(e)
}