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 }