Explorar el Código

add logx.Alert

kevin hace 3 años
padre
commit
695ea69bfc
Se han modificado 4 ficheros con 15 adiciones y 2 borrados
  1. 5 0
      core/logx/logs.go
  2. 8 0
      core/logx/logs_test.go
  3. 2 1
      core/stat/alert.go
  4. 0 1
      example/fx/square.go

+ 5 - 0
core/logx/logs.go

@@ -43,6 +43,7 @@ const (
 	consoleMode = "console"
 	volumeMode  = "volume"
 
+	levelAlert  = "alert"
 	levelInfo   = "info"
 	levelError  = "error"
 	levelSevere = "severe"
@@ -121,6 +122,10 @@ func SetUp(c LogConf) error {
 	}
 }
 
+func Alert(v string) {
+	output(errorLog, levelAlert, v)
+}
+
 func Close() error {
 	if writeConsole {
 		return nil

+ 8 - 0
core/logx/logs_test.go

@@ -84,6 +84,14 @@ func TestFileLineConsoleMode(t *testing.T) {
 	assert.True(t, writer.Contains(fmt.Sprintf("%s:%d", file, line+1)))
 }
 
+func TestStructedLogAlert(t *testing.T) {
+	doTestStructedLog(t, levelAlert, func(writer io.WriteCloser) {
+		errorLog = writer
+	}, func(v ...interface{}) {
+		Alert(fmt.Sprint(v...))
+	})
+}
+
 func TestStructedLogInfo(t *testing.T) {
 	doTestStructedLog(t, levelInfo, func(writer io.WriteCloser) {
 		infoLog = writer

+ 2 - 1
core/stat/alert.go

@@ -11,6 +11,7 @@ import (
 	"time"
 
 	"github.com/tal-tech/go-zero/core/executors"
+	"github.com/tal-tech/go-zero/core/logx"
 	"github.com/tal-tech/go-zero/core/proc"
 	"github.com/tal-tech/go-zero/core/sysx"
 	"github.com/tal-tech/go-zero/core/timex"
@@ -23,7 +24,7 @@ const (
 )
 
 var (
-	reporter     func(string)
+	reporter     = logx.Alert
 	lock         sync.RWMutex
 	lessExecutor = executors.NewLessExecutor(time.Minute * 5)
 	dropped      int32

+ 0 - 1
example/fx/square.go

@@ -10,7 +10,6 @@ func main() {
 	result, err := fx.From(func(source chan<- interface{}) {
 		for i := 0; i < 10; i++ {
 			source <- i
-			source <- i
 		}
 	}).Map(func(item interface{}) interface{} {
 		i := item.(int)