gitlab.com/gitlab-org/labkit@v1.21.0/log/logrus_test.go (about) 1 package log 2 3 import ( 4 "bytes" 5 "fmt" 6 "testing" 7 8 "github.com/stretchr/testify/require" 9 ) 10 11 func TestNew(t *testing.T) { 12 buf := &bytes.Buffer{} 13 logger := New() 14 logger.SetOutput(buf) 15 16 logger.Info("Hello") 17 require.Regexp(t, `\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.*level=info msg=Hello\n$`, buf.String()) 18 } 19 20 func TestInfo(t *testing.T) { 21 buf := &bytes.Buffer{} 22 closer, err := Initialize(WithWriter(buf)) 23 require.NoError(t, err) 24 defer closer.Close() 25 26 Info("Information") 27 require.Regexp(t, `\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.*level=info msg=Information\n$`, buf.String()) 28 } 29 30 func TestWithField(t *testing.T) { 31 buf := &bytes.Buffer{} 32 closer, err := Initialize(WithWriter(buf)) 33 require.NoError(t, err) 34 defer closer.Close() 35 36 WithField("field", "value").Warn("notice") 37 require.Regexp(t, `\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.*level=warning msg=notice field=value\n$`, buf.String()) 38 } 39 40 func TestWithFields(t *testing.T) { 41 buf := &bytes.Buffer{} 42 closer, err := Initialize(WithWriter(buf)) 43 require.NoError(t, err) 44 defer closer.Close() 45 46 WithFields(Fields{"field": "value", "field2": "value2"}).Warn("another") 47 require.Regexp(t, `\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.*level=warning msg=another field=value field2=value2\n$`, buf.String()) 48 } 49 50 func TestWithError(t *testing.T) { 51 buf := &bytes.Buffer{} 52 closer, err := Initialize(WithWriter(buf)) 53 require.NoError(t, err) 54 defer closer.Close() 55 56 WithError(fmt.Errorf("fail")).Error("rejected") 57 require.Regexp(t, `\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.*level=error msg=rejected error=fail\n$`, buf.String()) 58 }