logging_test.go 1.04 KiB
package orusapi_test
import (
"bytes"
"testing"
"github.com/rs/zerolog"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"orus.io/orus-io/go-orusapi"
)
func TestLogging(t *testing.T) {
var (
buf bytes.Buffer
log zerolog.Logger
)
var o orusapi.LoggingOptions
require.NoError(t, o.Setup(&log, &buf))
assert.Equal(t, zerolog.WarnLevel, o.Logger().GetLevel())
o.Verbose()
assert.Equal(t, zerolog.InfoLevel, o.Logger().GetLevel())
o.Verbose()
assert.Equal(t, zerolog.DebugLevel, o.Logger().GetLevel())
o.Verbose()
assert.Equal(t, zerolog.TraceLevel, o.Logger().GetLevel())
require.NoError(t, o.Level("fatal"))
assert.Equal(t, zerolog.FatalLevel, o.Logger().GetLevel())
require.NoError(t, o.Level("info"))
assert.Equal(t, zerolog.InfoLevel, o.Logger().GetLevel())
require.NoError(t, o.Format("pretty"))
log.Warn().Msg("this is a warning")
assert.Contains(t, buf.String(), "WRN")
buf.Reset()
require.NoError(t, o.Format("json"))
log.Warn().Msg("this is a warning")
assert.Contains(t, buf.String(), "{")
}