59 lines
1.6 KiB
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!")
|
|
})
|
|
} |