47 lines
783 B
Go
47 lines
783 B
Go
package logger_test
|
|
|
|
import (
|
|
"sync"
|
|
"testing"
|
|
"time"
|
|
|
|
"git.schreifuchs.ch/schreifuchs/logger"
|
|
"git.schreifuchs.ch/schreifuchs/logger/lvl"
|
|
)
|
|
|
|
func TestNewWith(t *testing.T) {
|
|
var wg sync.WaitGroup
|
|
expected := "Hello World"
|
|
got := ""
|
|
|
|
wg.Add(1)
|
|
l := logger.NewWithStrategy(lvl.Debug, func(c <-chan *logger.Log) {
|
|
for m := range c {
|
|
got = m.Message
|
|
wg.Done()
|
|
}
|
|
})
|
|
|
|
l.Debug(expected)
|
|
wg.Wait()
|
|
|
|
if expected != got {
|
|
t.Errorf("Expected %s but got %s", expected, got)
|
|
}
|
|
}
|
|
|
|
func ExampleLog() {
|
|
log := logger.New(lvl.Debug)
|
|
log.Debug("Hello World")
|
|
log.Info("Hello World")
|
|
log.Warn("Hello World")
|
|
log.Error("Hello World")
|
|
time.Sleep(time.Second / 100)
|
|
|
|
// Output:
|
|
// Debug: Hello World
|
|
// Info: Hello World
|
|
// Warn: Hello World
|
|
// Error: Hello World
|
|
}
|