9 "github.com/go-kit/kit/log"
12 func TestSwapLogger(t *testing.T) {
14 var logger log.SwapLogger
16 // Zero value does not panic or error.
17 err := logger.Log("k", "v")
18 if got, want := err, error(nil); got != want {
19 t.Errorf("got %v, want %v", got, want)
22 buf := &bytes.Buffer{}
23 json := log.NewJSONLogger(buf)
26 if err := logger.Log("k", "v"); err != nil {
29 if got, want := buf.String(), `{"k":"v"}`+"\n"; got != want {
30 t.Errorf("got %v, want %v", got, want)
34 prefix := log.NewLogfmtLogger(buf)
37 if err := logger.Log("k", "v"); err != nil {
40 if got, want := buf.String(), "k=v\n"; got != want {
41 t.Errorf("got %v, want %v", got, want)
47 if err := logger.Log("k", "v"); err != nil {
50 if got, want := buf.String(), ""; got != want {
51 t.Errorf("got %v, want %v", got, want)
55 func TestSwapLoggerConcurrency(t *testing.T) {
57 testConcurrency(t, &log.SwapLogger{}, 10000)
60 func TestSyncLoggerConcurrency(t *testing.T) {
63 logger := log.NewLogfmtLogger(w)
64 logger = log.NewSyncLogger(logger)
65 testConcurrency(t, logger, 10000)
68 func TestSyncWriterConcurrency(t *testing.T) {
71 w = log.NewSyncWriter(w)
72 testConcurrency(t, log.NewLogfmtLogger(w), 10000)
75 func TestSyncWriterFd(t *testing.T) {
76 _, ok := log.NewSyncWriter(os.Stdout).(interface {
81 t.Error("NewSyncWriter does not pass through Fd method")