logger.ReplaceHooks
This commit is contained in:
@@ -336,3 +336,9 @@ func (logger *Logger) AddHook(hook Hook) {
|
|||||||
defer logger.mu.Unlock()
|
defer logger.mu.Unlock()
|
||||||
logger.Hooks.Add(hook)
|
logger.Hooks.Add(hook)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (logger *Logger) ReplaceHooks(hooks LevelHooks) {
|
||||||
|
logger.mu.Lock()
|
||||||
|
logger.Hooks = hooks
|
||||||
|
logger.mu.Unlock()
|
||||||
|
}
|
||||||
|
|||||||
@@ -421,6 +421,22 @@ func TestLoggingRaceWithHooksOnEntry(t *testing.T) {
|
|||||||
wg.Wait()
|
wg.Wait()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestHooksReplace(t *testing.T) {
|
||||||
|
old, cur := &TestHook{}, &TestHook{}
|
||||||
|
|
||||||
|
logger := New()
|
||||||
|
logger.AddHook(old)
|
||||||
|
|
||||||
|
hooks := make(LevelHooks)
|
||||||
|
hooks.Add(cur)
|
||||||
|
logger.ReplaceHooks(hooks)
|
||||||
|
|
||||||
|
logger.Info("test")
|
||||||
|
|
||||||
|
assert.Equal(t, old.Fired, false)
|
||||||
|
assert.Equal(t, cur.Fired, true)
|
||||||
|
}
|
||||||
|
|
||||||
// Compile test
|
// Compile test
|
||||||
func TestLogrusInterface(t *testing.T) {
|
func TestLogrusInterface(t *testing.T) {
|
||||||
var buffer bytes.Buffer
|
var buffer bytes.Buffer
|
||||||
|
|||||||
Reference in New Issue
Block a user