mirror of
https://github.com/zrepl/zrepl.git
synced 2024-12-22 07:00:44 +01:00
48 lines
824 B
Go
48 lines
824 B
Go
package logger_test
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"github.com/kr/pretty"
|
|
"github.com/zrepl/zrepl/logger"
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
type TestOutlet struct {
|
|
Record []logger.Entry
|
|
}
|
|
|
|
func (o *TestOutlet) WriteEntry(ctx context.Context, entry logger.Entry) error {
|
|
o.Record = append(o.Record, entry)
|
|
return nil
|
|
}
|
|
|
|
func NewTestOutlet() *TestOutlet {
|
|
return &TestOutlet{make([]logger.Entry, 0)}
|
|
}
|
|
|
|
func TestLogger_Basic(t *testing.T) {
|
|
|
|
outlet_arr := []logger.Outlet{
|
|
NewTestOutlet(),
|
|
NewTestOutlet(),
|
|
}
|
|
|
|
outlets := logger.NewOutlets()
|
|
for _, o := range outlet_arr {
|
|
outlets.Add(o, logger.Debug)
|
|
}
|
|
|
|
l := logger.NewLogger(outlets, 1*time.Second)
|
|
|
|
l.Info("foobar")
|
|
|
|
l.WithField("fieldname", "fieldval").Info("log with field")
|
|
|
|
l.WithError(fmt.Errorf("fooerror")).Error("error")
|
|
|
|
t.Log(pretty.Sprint(outlet_arr))
|
|
|
|
}
|