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  }