loggerHttpController.go 586 B

1234567891011121314151617181920212223
  1. package controller
  2. import (
  3. "fmt"
  4. "net/http"
  5. "time"
  6. "github.com/gorilla/mux"
  7. "github.com/gravitl/netmaker/logger"
  8. )
  9. func loggerHandlers(r *mux.Router) {
  10. r.HandleFunc("/api/logs", securityCheckDNS(true, true, http.HandlerFunc(getLogs))).Methods("GET")
  11. }
  12. func getLogs(w http.ResponseWriter, r *http.Request) {
  13. var currentTime = time.Now().Format(logger.TimeFormatDay)
  14. var currentFilePath = fmt.Sprintf("data/netmaker.log.%s", currentTime)
  15. logger.DumpFile(currentFilePath)
  16. logger.ResetLogs()
  17. w.WriteHeader(http.StatusOK)
  18. w.Write([]byte(logger.Retrieve(currentFilePath)))
  19. }