package apex import ( "testing" log "go-micro.dev/v4/logger" ) var ( l = New() ) func TestName(t *testing.T) { l2 := New(WithTextHandler()) if l2.String() != "apex" { t.Errorf("name is error %s", l2.String()) } t.Logf("test logger name: %s", l2.String()) } func testLog(l log.Logger) { l.Logf(log.InfoLevel, "Test Logf with level: %s", "info") l.Logf(log.DebugLevel, "Test Logf with level: %s", "debug") l.Logf(log.ErrorLevel, "Test Logf with level: %s", "error") l.Logf(log.TraceLevel, "Test Logf with level: %s", "trace") l.Logf(log.WarnLevel, "Test Logf with level: %s", "warn") //l.Logf(log.FatalLevel, "Test Logf with level: %s", "fatal") } func TestJSON(t *testing.T) { l2 := New(WithJSONHandler(), WithLevel(log.TraceLevel)).Fields(map[string]interface{}{ "Format": "JSON", }) testLog(l2) } func TestText(t *testing.T) { l2 := New(WithTextHandler(), WithLevel(log.TraceLevel)).Fields(map[string]interface{}{ "Format": "Text", }) testLog(l2) } func TestCLI(t *testing.T) { l2 := New(WithCLIHandler(), WithLevel(log.TraceLevel)).Fields(map[string]interface{}{ "Format": "CLI", }) testLog(l2) } func TestWithLevel(t *testing.T) { l2 := New(WithTextHandler(), WithLevel(log.DebugLevel)) l2.Logf(log.DebugLevel, "test show debug: %s", "debug msg") l3 := New(WithTextHandler(), WithLevel(log.InfoLevel)) l3.Logf(log.DebugLevel, "test non-show debug: %s", "debug msg") } func TestWithFields(t *testing.T) { l2 := New(WithTextHandler()).Fields(map[string]interface{}{ "k1": "v1", "k2": 123456, }) l2.Logf(log.InfoLevel, "Testing with values") }