mirror of https://github.com/gofiber/fiber.git
216 lines
3.7 KiB
Go
216 lines
3.7 KiB
Go
package log
|
|
|
|
import (
|
|
"log"
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func Test_DefaultSystemLogger(t *testing.T) {
|
|
t.Parallel()
|
|
defaultL := DefaultLogger()
|
|
require.Equal(t, logger, defaultL)
|
|
}
|
|
|
|
func Test_SetLogger(t *testing.T) {
|
|
setLog := &defaultLogger{
|
|
stdlog: log.New(os.Stderr, "", log.LstdFlags|log.Lshortfile|log.Lmicroseconds),
|
|
depth: 6,
|
|
}
|
|
|
|
SetLogger(setLog)
|
|
require.Equal(t, logger, setLog)
|
|
}
|
|
|
|
func Test_Fiberlog_SetLevel(t *testing.T) {
|
|
mockLogger := &defaultLogger{}
|
|
SetLogger(mockLogger)
|
|
|
|
// Test cases
|
|
testCases := []struct {
|
|
name string
|
|
level Level
|
|
expected Level
|
|
}{
|
|
{
|
|
name: "Test case 1",
|
|
level: LevelDebug,
|
|
expected: LevelDebug,
|
|
},
|
|
{
|
|
name: "Test case 2",
|
|
level: LevelInfo,
|
|
expected: LevelInfo,
|
|
},
|
|
{
|
|
name: "Test case 3",
|
|
level: LevelWarn,
|
|
expected: LevelWarn,
|
|
},
|
|
{
|
|
name: "Test case 4",
|
|
level: LevelError,
|
|
expected: LevelError,
|
|
},
|
|
{
|
|
name: "Test case 5",
|
|
level: LevelFatal,
|
|
expected: LevelFatal,
|
|
},
|
|
}
|
|
|
|
// Run tests
|
|
for _, tc := range testCases {
|
|
t.Run(tc.name, func(t *testing.T) {
|
|
SetLevel(tc.level)
|
|
require.Equal(t, tc.expected, mockLogger.level)
|
|
})
|
|
}
|
|
}
|
|
|
|
func Benchmark_DefaultSystemLogger(b *testing.B) {
|
|
b.ResetTimer()
|
|
b.ReportAllocs()
|
|
for i := 0; i < b.N; i++ {
|
|
_ = DefaultLogger()
|
|
}
|
|
}
|
|
|
|
func Benchmark_SetLogger(b *testing.B) {
|
|
setLog := &defaultLogger{
|
|
stdlog: log.New(os.Stderr, "", log.LstdFlags|log.Lshortfile|log.Lmicroseconds),
|
|
depth: 6,
|
|
}
|
|
|
|
b.ReportAllocs()
|
|
b.ResetTimer()
|
|
for i := 0; i < b.N; i++ {
|
|
SetLogger(setLog)
|
|
}
|
|
}
|
|
|
|
func Benchmark_Fiberlog_SetLevel(b *testing.B) {
|
|
mockLogger := &defaultLogger{}
|
|
SetLogger(mockLogger)
|
|
|
|
// Test cases
|
|
testCases := []struct {
|
|
name string
|
|
level Level
|
|
expected Level
|
|
}{
|
|
{
|
|
name: "Test case 1",
|
|
level: LevelDebug,
|
|
expected: LevelDebug,
|
|
},
|
|
{
|
|
name: "Test case 2",
|
|
level: LevelInfo,
|
|
expected: LevelInfo,
|
|
},
|
|
{
|
|
name: "Test case 3",
|
|
level: LevelWarn,
|
|
expected: LevelWarn,
|
|
},
|
|
{
|
|
name: "Test case 4",
|
|
level: LevelError,
|
|
expected: LevelError,
|
|
},
|
|
{
|
|
name: "Test case 5",
|
|
level: LevelFatal,
|
|
expected: LevelFatal,
|
|
},
|
|
}
|
|
|
|
for _, tc := range testCases {
|
|
b.ReportAllocs()
|
|
b.ResetTimer()
|
|
b.Run(tc.name, func(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
SetLevel(tc.level)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func Benchmark_DefaultSystemLogger_Parallel(b *testing.B) {
|
|
b.ReportAllocs()
|
|
b.ResetTimer()
|
|
b.RunParallel(func(pb *testing.PB) {
|
|
for pb.Next() {
|
|
_ = DefaultLogger()
|
|
}
|
|
})
|
|
}
|
|
|
|
func Benchmark_SetLogger_Parallel(b *testing.B) {
|
|
setLog := &defaultLogger{
|
|
stdlog: log.New(os.Stderr, "", log.LstdFlags|log.Lshortfile|log.Lmicroseconds),
|
|
depth: 6,
|
|
}
|
|
|
|
b.ReportAllocs()
|
|
b.ResetTimer()
|
|
b.RunParallel(func(pb *testing.PB) {
|
|
for pb.Next() {
|
|
SetLogger(setLog)
|
|
}
|
|
})
|
|
}
|
|
|
|
func Benchmark_Fiberlog_SetLevel_Parallel(b *testing.B) {
|
|
mockLogger := &defaultLogger{}
|
|
SetLogger(mockLogger)
|
|
|
|
// Test cases
|
|
testCases := []struct {
|
|
name string
|
|
level Level
|
|
expected Level
|
|
}{
|
|
{
|
|
name: "Test case 1",
|
|
level: LevelDebug,
|
|
expected: LevelDebug,
|
|
},
|
|
{
|
|
name: "Test case 2",
|
|
level: LevelInfo,
|
|
expected: LevelInfo,
|
|
},
|
|
{
|
|
name: "Test case 3",
|
|
level: LevelWarn,
|
|
expected: LevelWarn,
|
|
},
|
|
{
|
|
name: "Test case 4",
|
|
level: LevelError,
|
|
expected: LevelError,
|
|
},
|
|
{
|
|
name: "Test case 5",
|
|
level: LevelFatal,
|
|
expected: LevelFatal,
|
|
},
|
|
}
|
|
|
|
for _, tc := range testCases {
|
|
b.Run(tc.name+"_Parallel", func(bb *testing.B) {
|
|
bb.ReportAllocs()
|
|
bb.ResetTimer()
|
|
bb.RunParallel(func(pb *testing.PB) {
|
|
for pb.Next() {
|
|
SetLevel(tc.level)
|
|
}
|
|
})
|
|
})
|
|
}
|
|
}
|