logfrog-go/handlers/rotatingFile_test.go

59 lines
1.6 KiB
Go

package handlers
import (
"fmt"
"testing"
"time"
"codeark.it/Bithero-Agency-Go/logfrog-go"
"github.com/stretchr/testify/assert"
)
func TestDailyRotatingFileHandler(t *testing.T) {
t.Run("NewDailyRotatingFileHandler", func(t *testing.T) {
logger := logfrog.NewLogger("main", logfrog.TRACE)
handler, err := NewDailyRotatingFileHandler("./", "logger")
assert.NoError(t, err)
handler.SetFormatterFn(func(lr *logfrog.LogRecord) ([]byte, error) {
return []byte(lr.Message + "\n"), nil
})
logger.AddHandler(handler)
assert.NotPanics(t, func() {
logger.Info("Hello world!")
}, "logger.Info panics!")
})
}
func TestMinutelyRotatingFileHandler(t *testing.T) {
t.Run("NewRotatingFileHandler", func(t *testing.T) {
logger := logfrog.NewLogger("main", logfrog.TRACE)
handler, err := NewRotatingFileHandler(
"./",
"logger.log",
"logger_2006-01-02_1504.log",
RotateMinutely,
)
assert.NoError(t, err)
handler.SetFormatterFn(func(lr *logfrog.LogRecord) ([]byte, error) {
return []byte(lr.Message + "\n"), nil
})
logger.AddHandler(handler)
assert.NotPanics(t, func() {
logger.Info("Hello world!")
for i := 0; i < 60; i++ {
time.Sleep(time.Second)
fmt.Printf("Waited for %d secs...\n", i + 1)
}
logger.Info("Hello world! 2")
time.Sleep(time.Second * 10)
}, "logger.Info panics!")
})
}