mirror of
https://github.com/taigrr/log-socket
synced 2025-01-18 04:53:14 -08:00
Adds simple websocket based on mux
This commit is contained in:
parent
159e6a4d3a
commit
d6bc080d6b
35
ws/server.go
Normal file
35
ws/server.go
Normal file
@ -0,0 +1,35 @@
|
||||
package ws
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"net/http"
|
||||
|
||||
"github.com/gorilla/websocket"
|
||||
"github.com/taigrr/log-socket/logger"
|
||||
)
|
||||
|
||||
// var addr = flag.String("addr", "localhost:8080", "http service address")
|
||||
|
||||
var upgrader = websocket.Upgrader{} // use default options
|
||||
|
||||
func LogSocketHandler(w http.ResponseWriter, r *http.Request) {
|
||||
c, err := upgrader.Upgrade(w, r, nil)
|
||||
if err != nil {
|
||||
logger.Error("upgrade:", err)
|
||||
return
|
||||
}
|
||||
defer c.Close()
|
||||
lc := logger.CreateClient()
|
||||
defer lc.Destroy()
|
||||
lc.SetLogLevel(logger.LTrace)
|
||||
logger.Info("Websocket client attached.")
|
||||
for {
|
||||
logEvent := lc.Get()
|
||||
logJSON, err := json.Marshal(logEvent)
|
||||
err = c.WriteMessage(websocket.TextMessage, logJSON)
|
||||
if err != nil {
|
||||
logger.Error("write:", err)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user