github.com/shuguocloud/go-zero@v1.3.0/core/logx/durationlogger_test.go (about) 1 package logx 2 3 import ( 4 "log" 5 "strings" 6 "testing" 7 "time" 8 9 "github.com/stretchr/testify/assert" 10 ) 11 12 func TestWithDurationError(t *testing.T) { 13 var builder strings.Builder 14 log.SetOutput(&builder) 15 WithDuration(time.Second).Error("foo") 16 assert.True(t, strings.Contains(builder.String(), "duration"), builder.String()) 17 } 18 19 func TestWithDurationErrorf(t *testing.T) { 20 var builder strings.Builder 21 log.SetOutput(&builder) 22 WithDuration(time.Second).Errorf("foo") 23 assert.True(t, strings.Contains(builder.String(), "duration"), builder.String()) 24 } 25 26 func TestWithDurationErrorv(t *testing.T) { 27 var builder strings.Builder 28 log.SetOutput(&builder) 29 WithDuration(time.Second).Errorv("foo") 30 assert.True(t, strings.Contains(builder.String(), "duration"), builder.String()) 31 } 32 33 func TestWithDurationInfo(t *testing.T) { 34 var builder strings.Builder 35 log.SetOutput(&builder) 36 WithDuration(time.Second).Info("foo") 37 assert.True(t, strings.Contains(builder.String(), "duration"), builder.String()) 38 } 39 40 func TestWithDurationInfoConsole(t *testing.T) { 41 old := encoding 42 encoding = plainEncodingType 43 defer func() { 44 encoding = old 45 }() 46 47 var builder strings.Builder 48 log.SetOutput(&builder) 49 WithDuration(time.Second).Info("foo") 50 assert.True(t, strings.Contains(builder.String(), "ms"), builder.String()) 51 } 52 53 func TestWithDurationInfof(t *testing.T) { 54 var builder strings.Builder 55 log.SetOutput(&builder) 56 WithDuration(time.Second).Infof("foo") 57 assert.True(t, strings.Contains(builder.String(), "duration"), builder.String()) 58 } 59 60 func TestWithDurationInfov(t *testing.T) { 61 var builder strings.Builder 62 log.SetOutput(&builder) 63 WithDuration(time.Second).Infov("foo") 64 assert.True(t, strings.Contains(builder.String(), "duration"), builder.String()) 65 } 66 67 func TestWithDurationSlow(t *testing.T) { 68 var builder strings.Builder 69 log.SetOutput(&builder) 70 WithDuration(time.Second).Slow("foo") 71 assert.True(t, strings.Contains(builder.String(), "duration"), builder.String()) 72 } 73 74 func TestWithDurationSlowf(t *testing.T) { 75 var builder strings.Builder 76 log.SetOutput(&builder) 77 WithDuration(time.Second).WithDuration(time.Hour).Slowf("foo") 78 assert.True(t, strings.Contains(builder.String(), "duration"), builder.String()) 79 } 80 81 func TestWithDurationSlowv(t *testing.T) { 82 var builder strings.Builder 83 log.SetOutput(&builder) 84 WithDuration(time.Second).WithDuration(time.Hour).Slowv("foo") 85 assert.True(t, strings.Contains(builder.String(), "duration"), builder.String()) 86 }