github.com/mponton/terratest@v0.44.0/modules/logger/parser/helpers_for_test.go (about) 1 package parser 2 3 import ( 4 "bytes" 5 "fmt" 6 "strings" 7 "testing" 8 "time" 9 10 "github.com/sirupsen/logrus" 11 ) 12 13 func NewTestLogger(t *testing.T) *logrus.Logger { 14 logger := logrus.New() 15 logger.SetFormatter(&LogTestFormatter{TestName: t.Name()}) 16 return logger 17 } 18 19 type LogTestFormatter struct { 20 TestName string 21 } 22 23 func (formatter *LogTestFormatter) Format(entry *logrus.Entry) ([]byte, error) { 24 b := bytes.Buffer{} 25 outStr := fmt.Sprintf( 26 "%s %s %s %s\n", 27 formatter.TestName, 28 strings.ToUpper(entry.Level.String()), 29 entry.Time.Format(time.RFC3339), 30 entry.Message, 31 ) 32 b.WriteString(outStr) 33 return b.Bytes(), nil 34 }