...
1
2
3 package journald_test
4
5 import (
6 "bytes"
7 "io"
8 "testing"
9
10 "github.com/rs/zerolog"
11 "github.com/rs/zerolog/journald"
12 )
13
14 func ExampleNewJournalDWriter() {
15 log := zerolog.New(journald.NewJournalDWriter())
16 log.Info().Str("foo", "bar").Uint64("small", 123).Float64("float", 3.14).Uint64("big", 1152921504606846976).Msg("Journal Test")
17
18 }
19
20
51
52 func TestWriteReturnsNoOfWrittenBytes(t *testing.T) {
53 input := []byte(`{"level":"info","time":1570912626,"message":"Starting..."}`)
54 wr := journald.NewJournalDWriter()
55 want := len(input)
56 got, err := wr.Write(input)
57
58 if err != nil {
59 t.Errorf("Unexpected error %v", err)
60 }
61
62 if want != got {
63 t.Errorf("Expected %d bytes to be written got %d", want, got)
64 }
65 }
66
67 func TestMultiWrite(t *testing.T) {
68 var (
69 w1 = new(bytes.Buffer)
70 w2 = new(bytes.Buffer)
71 w3 = journald.NewJournalDWriter()
72 )
73
74 zerolog.ErrorHandler = func(err error) {
75 if err == io.ErrShortWrite {
76 t.Errorf("Unexpected ShortWriteError")
77 t.FailNow()
78 }
79 }
80
81 log := zerolog.New(io.MultiWriter(w1, w2, w3)).With().Logger()
82
83 for i := 0; i < 10; i++ {
84 log.Info().Msg("Tick!")
85 }
86 }
87
View as plain text