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  }