diff --git a/main.go b/main.go new file mode 100644 index 0000000..d147747 --- /dev/null +++ b/main.go @@ -0,0 +1,227 @@ +package main + +import ( + "flag" + "html/template" + "log" + "net/http" + "time" + + "github.com/taigrr/log-socket/logger" + "github.com/taigrr/log-socket/ws" +) + +var addr = flag.String("addr", "0.0.0.0:8080", "http service address") + +func home(w http.ResponseWriter, r *http.Request) { + homeTemplate.Execute(w, "ws://"+r.Host+"/logs") +} + +func generateLogs() { + for { + logger.Info("This is an info log!") + logger.Trace("This is a trace log!") + logger.Debug("This is a debug log!") + logger.Warn("This is a warn log!") + logger.Error("This is an error log!") + time.Sleep(10 * time.Second) + } +} + +func main() { + defer logger.Flush() + flag.Parse() + http.HandleFunc("/logs", ws.LogSocketHandler) + http.HandleFunc("/", home) + go generateLogs() + log.Fatal(http.ListenAndServe(*addr, nil)) +} + +var homeTemplate = template.Must(template.New("").Parse(` + + +
+ + + +TimeStamp | +Level | +Output | +Source | +
---|
+ | + | + | + |
---|