syslog.go 531 B

12345678910111213141516171819202122232425262728
  1. package syslog
  2. import (
  3. "fmt"
  4. "github.com/gogf/gf/v2/frame/g"
  5. "golang.org/x/net/context"
  6. "nodeMonitor/internal/websocket"
  7. )
  8. func NotificationLog(ctx context.Context) {
  9. conn, _ := g.Redis().Conn(ctx)
  10. defer conn.Close(ctx)
  11. _, err := conn.Do(ctx, "SUBSCRIBE", "channel")
  12. if err != nil {
  13. panic(err)
  14. }
  15. for {
  16. reply, err := conn.Receive(ctx)
  17. if err != nil {
  18. panic(err)
  19. }
  20. fmt.Println(reply.String())
  21. websocket.SendToAll(&websocket.WResponse{
  22. Event: "syslog",
  23. Data: g.Map{"msg": reply.String()},
  24. })
  25. }
  26. }