started work on new arch

This commit is contained in:
Torkel Ödegaard
2014-10-04 13:33:20 +02:00
parent 5d120de70e
commit a4204880e8
12 changed files with 636 additions and 47 deletions
+8 -3
View File
@@ -1,14 +1,17 @@
package api
import (
"fmt"
"html/template"
log "github.com/alecthomas/log4go"
"github.com/gin-gonic/gin"
"github.com/gorilla/sessions"
"github.com/torkelo/grafana-pro/pkg/components"
"github.com/torkelo/grafana-pro/pkg/configuration"
"github.com/torkelo/grafana-pro/pkg/log"
"github.com/torkelo/grafana-pro/pkg/models"
"github.com/torkelo/grafana-pro/pkg/setting"
"github.com/torkelo/grafana-pro/pkg/stores"
)
@@ -34,9 +37,9 @@ func NewHttpServer(cfg *configuration.Cfg, store stores.Store) *HttpServer {
}
func (self *HttpServer) ListenAndServe() {
log.Info("Starting Http Listener on port %v", self.port)
defer func() { self.shutdown <- true }()
gin.SetMode(gin.ReleaseMode)
self.router = gin.New()
self.router.Use(gin.Recovery(), apiLogger(), CacheHeadersMiddleware())
@@ -60,7 +63,9 @@ func (self *HttpServer) ListenAndServe() {
self.router.GET("/admin/*_", self.auth(), self.index)
self.router.GET("/account/*_", self.auth(), self.index)
self.router.Run(":" + self.port)
listenAddr := fmt.Sprintf("%s:%s", setting.HttpAddr, setting.HttpPort)
log.Info("Listen: %v://%s%s", setting.Protocol, listenAddr, setting.AppSubUrl)
self.router.Run(listenAddr)
}
func (self *HttpServer) index(c *gin.Context) {
+5 -20
View File
@@ -1,12 +1,12 @@
package api
import (
"log"
"os"
"strings"
"time"
"github.com/gin-gonic/gin"
"github.com/torkelo/grafana-pro/pkg/log"
)
var (
@@ -25,8 +25,6 @@ func ignoreLoggingRequest(code int, contentType string) bool {
}
func apiLogger() gin.HandlerFunc {
stdlogger := log.New(os.Stdout, "", 0)
return func(c *gin.Context) {
// Start timer
start := time.Now()
@@ -53,26 +51,13 @@ func apiLogger() gin.HandlerFunc {
requester = c.Request.RemoteAddr
}
var color string
switch {
case code >= 200 && code <= 299:
color = green
case code >= 300 && code <= 399:
color = white
case code >= 400 && code <= 499:
color = yellow
default:
color = red
}
end := time.Now()
latency := end.Sub(start)
stdlogger.Printf("[GIN] %v |%s %3d %s| %12v | %s %4s %s\n%s",
end.Format("2006/01/02 - 15:04:05"),
color, code, reset,
log.Info("[http] %s %s %3d %12v %s %s",
c.Request.Method, c.Request.URL.Path,
code,
latency,
requester,
c.Request.Method, c.Request.URL.Path,
c.Errors.String(),
)
}