package raxmiddleware import ( "net/http" "os" "github.com/gin-gonic/gin" "github.com/sirupsen/logrus" "github.rackspace.com/gorax/tools/lagger" ) // CtxLagger defines the key to store in the gin.Context const CtxLagger = "lagger" func Lagger(level logrus.Level) gin.HandlerFunc { return func(c *gin.Context) { var lag *lagger.NSILogger var err error // Try syslog first lag, err = lagger.New(os.Getenv("VM"), os.Getenv("APP"), level, true) if err != nil { // Try local logging lag, err = lagger.New(os.Getenv("VM"), os.Getenv("APP"), level, false) if err != nil { AddError(c, http.StatusInternalServerError, err.Error()) return } } c.Set(CtxLagger, lag) } }