Use installs the handler middleware.
(middleware Middleware)
| 43 | |
| 44 | // Use installs the handler middleware. |
| 45 | func (l *Logger) Use(middleware Middleware) { |
| 46 | l.mutex.Lock() |
| 47 | defer l.mutex.Unlock() |
| 48 | |
| 49 | l.middleware = append(l.middleware, middleware) |
| 50 | |
| 51 | // the first handler uses the base handler from the logger |
| 52 | // we need to wrap this is a function so the base handler can be |
| 53 | // changed afterwards. |
| 54 | handler := Handler(HandlerFunc(func(entry Entry) error { |
| 55 | return l.Handler.HandleLog(entry) |
| 56 | })) |
| 57 | |
| 58 | for i := len(l.middleware) - 1; i >= 0; i-- { |
| 59 | handler = l.middleware[i].Wrap(handler) |
| 60 | } |
| 61 | |
| 62 | l.stack = handler |
| 63 | } |
| 64 | |
| 65 | // commit comits the entry to the handler. |
| 66 | func (l *Logger) commit(e *entry) { |