1// +build !binary_log
2// +build !windows
3
4package zerolog
5
6import (
7	"reflect"
8	"testing"
9)
10
11func TestMultiSyslogWriter(t *testing.T) {
12	sw := &syslogTestWriter{}
13	log := New(MultiLevelWriter(SyslogLevelWriter(sw)))
14	log.Debug().Msg("debug")
15	log.Info().Msg("info")
16	log.Warn().Msg("warn")
17	log.Error().Msg("error")
18	log.Log().Msg("nolevel")
19	want := []syslogEvent{
20		{"Debug", `{"level":"debug","message":"debug"}` + "\n"},
21		{"Info", `{"level":"info","message":"info"}` + "\n"},
22		{"Warning", `{"level":"warn","message":"warn"}` + "\n"},
23		{"Err", `{"level":"error","message":"error"}` + "\n"},
24		{"Info", `{"message":"nolevel"}` + "\n"},
25	}
26	if got := sw.events; !reflect.DeepEqual(got, want) {
27		t.Errorf("Invalid syslog message routing: want %v, got %v", want, got)
28	}
29}
30