Browse Source

small cleanup

boyska 5 năm trước cách đây
mục cha
commit
432d46d15f
1 tập tin đã thay đổi với 18 bổ sung18 xóa
  1. 18 18
      main.go

+ 18 - 18
main.go

@@ -20,13 +20,27 @@ func syslogdHandler(channel syslog.LogPartsChannel) {
 	}
 }
 
+func httpHandler(w http.ResponseWriter, r *http.Request) {
+	circbuf.Do(func(x interface{}) {
+		if x == nil {
+			return
+		}
+		logmsg := x.(format.LogParts)
+		if logmsg["message"] == nil {
+			return
+		}
+		c := logmsg["message"].(string)
+		w.Write([]byte(c))
+		w.Write([]byte("\n"))
+	})
+}
 func main() {
 	syslogSocketPath := flag.String("syslogd-socket", "", "The socket to listen to syslog addresses")
 	// dumpSocketPath := flag.String("dump-socket", "/run/buffer.sock", "The socket that user will connect to in order to receive logs")
 	bufsize := flag.Int("buffer-size", 1000, "Number of messages to keep")
 	flag.Parse()
 
-	channel := make(syslog.LogPartsChannel)
+	channel := make(chan format.LogParts)
 	handler := syslog.NewChannelHandler(channel)
 
 	server := syslog.NewServer()
@@ -34,28 +48,14 @@ func main() {
 	server.SetHandler(handler)
 	if *syslogSocketPath != "" {
 		server.ListenUnixgram(*syslogSocketPath)
+	} else {
+		server.ListenUDP("127.0.0.1:9514")
 	}
-	server.ListenUDP("127.0.0.1:9514")
 	circbuf = ring.New(*bufsize)
 	server.Boot()
-
 	go syslogdHandler(channel)
 
-	http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
-		circbuf.Do(func(x interface{}) {
-			if x == nil {
-				return
-			}
-			logmsg := x.(format.LogParts)
-			if logmsg["message"] == nil {
-				return
-			}
-			c := logmsg["message"].(string)
-			w.Write([]byte(c))
-			w.Write([]byte("\n"))
-		})
-	})
-
+	http.HandleFunc("/", httpHandler)
 	http.ListenAndServe(":9080", nil)
 
 	server.Wait()