github.com/Jeffail/benthos/v3@v3.65.0/public/service/logger_test.go (about) 1 package service 2 3 import ( 4 "bytes" 5 "testing" 6 7 "github.com/Jeffail/benthos/v3/lib/log" 8 "github.com/stretchr/testify/assert" 9 ) 10 11 func TestReverseAirGapLogger(t *testing.T) { 12 lConf := log.NewConfig() 13 lConf.AddTimeStamp = false 14 15 var buf bytes.Buffer 16 logger := log.New(&buf, lConf) 17 18 agLogger := newReverseAirGapLogger(logger) 19 agLogger2 := agLogger.With("field1", "value1", "field2", "value2") 20 21 agLogger.Debugf("foo: %v", "bar1") 22 agLogger.Infof("foo: %v", "bar2") 23 24 agLogger2.Debugf("foo2: %v", "bar1") 25 agLogger2.Infof("foo2: %v", "bar2") 26 27 agLogger.Warnf("foo: %v", "bar3") 28 agLogger.Errorf("foo: %v", "bar4") 29 30 agLogger2.Warnf("foo2: %v", "bar3") 31 agLogger2.Errorf("foo2: %v", "bar4") 32 33 assert.Equal(t, `{"@service":"benthos","component":"benthos","level":"INFO","message":"foo: bar2"} 34 {"@service":"benthos","component":"benthos","field1":"value1","field2":"value2","level":"INFO","message":"foo2: bar2"} 35 {"@service":"benthos","component":"benthos","level":"WARN","message":"foo: bar3"} 36 {"@service":"benthos","component":"benthos","level":"ERROR","message":"foo: bar4"} 37 {"@service":"benthos","component":"benthos","field1":"value1","field2":"value2","level":"WARN","message":"foo2: bar3"} 38 {"@service":"benthos","component":"benthos","field1":"value1","field2":"value2","level":"ERROR","message":"foo2: bar4"} 39 `, buf.String()) 40 } 41 42 func TestReverseAirGapLoggerDodgyFields(t *testing.T) { 43 lConf := log.NewConfig() 44 lConf.AddTimeStamp = false 45 46 var buf bytes.Buffer 47 logger := log.New(&buf, lConf) 48 49 agLogger := newReverseAirGapLogger(logger) 50 51 agLogger.With("field1", "value1", "field2").Infof("foo1") 52 agLogger.With(10, 20).Infof("foo2") 53 agLogger.With("field3", 30).Infof("foo3") 54 agLogger.With("field4", "value4").With("field5", "value5").Infof("foo4") 55 56 assert.Equal(t, `{"@service":"benthos","component":"benthos","field1":"value1","level":"INFO","message":"foo1"} 57 {"10":"20","@service":"benthos","component":"benthos","level":"INFO","message":"foo2"} 58 {"@service":"benthos","component":"benthos","field3":"30","level":"INFO","message":"foo3"} 59 {"@service":"benthos","component":"benthos","field4":"value4","field5":"value5","level":"INFO","message":"foo4"} 60 `, buf.String()) 61 }