change to log15-based network logging
This commit is contained in:
parent
ea6a8615bb
commit
78d0af12cc
3 changed files with 26 additions and 24 deletions
11
contact.go
11
contact.go
|
@ -4,6 +4,7 @@ import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
|
"fmt"
|
||||||
"html/template"
|
"html/template"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
|
@ -33,13 +34,13 @@ func contactRequest(c echo.Context) (err error) {
|
||||||
|
|
||||||
req := new(ContactRequest)
|
req := new(ContactRequest)
|
||||||
if err = cc.Bind(req); err != nil {
|
if err = cc.Bind(req); err != nil {
|
||||||
cc.Log.Warnf("failed to parse input: %s", err.Error())
|
cc.Log.Warn("failed to parse input", "error", err)
|
||||||
return c.JSON(http.StatusBadRequest, NewError(errors.New("failed to read request")))
|
return c.JSON(http.StatusBadRequest, NewError(errors.New("failed to read request")))
|
||||||
}
|
}
|
||||||
|
|
||||||
cc.Log.Debugf(`received contact request from "%s" <%s> (%s)`, req.Name, req.Email, c.RealIP())
|
cc.Log.Debug(fmt.Sprintf(`received contact request from "%s" <%s> (%s)`, req.Name, req.Email, c.RealIP()))
|
||||||
if err = db.LogContact(req.Name, req.Email); err != nil {
|
if err = db.LogContact(req.Name, req.Email); err != nil {
|
||||||
cc.Log.Warn("failed to write contact record to database")
|
cc.Log.Warn("failed to write contact record to database", "error", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if req.Name == "" {
|
if req.Name == "" {
|
||||||
|
@ -53,7 +54,7 @@ func contactRequest(c echo.Context) (err error) {
|
||||||
|
|
||||||
emailBody, err := renderContactEmail(req.Name, req.Email)
|
emailBody, err := renderContactEmail(req.Name, req.Email)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
cc.Log.Errorf("failed to render email body: %s", err.Error())
|
cc.Log.Error("failed to render email body", "error", err)
|
||||||
return c.JSON(http.StatusInternalServerError, NewError(errors.New("internal error; please retry")))
|
return c.JSON(http.StatusInternalServerError, NewError(errors.New("internal error; please retry")))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -69,7 +70,7 @@ func contactRequest(c echo.Context) (err error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if err = msg.Send(os.Getenv("SENDINBLUE_APIKEY")); err != nil {
|
if err = msg.Send(os.Getenv("SENDINBLUE_APIKEY")); err != nil {
|
||||||
cc.Log.Errorf("failed to send contact email: %s", err.Error())
|
cc.Log.Error("failed to send contact email", "error", err)
|
||||||
|
|
||||||
enc := json.NewEncoder(os.Stdout)
|
enc := json.NewEncoder(os.Stdout)
|
||||||
enc.SetIndent("", " ")
|
enc.SetIndent("", " ")
|
||||||
|
|
|
@ -3,7 +3,7 @@ package main
|
||||||
import (
|
import (
|
||||||
"github.com/jmoiron/sqlx"
|
"github.com/jmoiron/sqlx"
|
||||||
"github.com/labstack/echo"
|
"github.com/labstack/echo"
|
||||||
"go.uber.org/zap"
|
"github.com/revel/log15"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Context is the custom context for this web server
|
// Context is the custom context for this web server
|
||||||
|
@ -14,5 +14,5 @@ type Context struct {
|
||||||
DB *sqlx.DB
|
DB *sqlx.DB
|
||||||
|
|
||||||
// Log is the core logger
|
// Log is the core logger
|
||||||
Log *zap.SugaredLogger
|
Log log15.Logger
|
||||||
}
|
}
|
||||||
|
|
35
main.go
35
main.go
|
@ -4,11 +4,12 @@ import (
|
||||||
"flag"
|
"flag"
|
||||||
"html/template"
|
"html/template"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"os"
|
||||||
|
|
||||||
"github.com/CyCoreSystems/cycore-web/db"
|
"github.com/CyCoreSystems/cycore-web/db"
|
||||||
"github.com/labstack/echo"
|
"github.com/labstack/echo"
|
||||||
"github.com/labstack/echo/middleware"
|
"github.com/labstack/echo/middleware"
|
||||||
"go.uber.org/zap"
|
"github.com/revel/log15"
|
||||||
)
|
)
|
||||||
|
|
||||||
var addr string
|
var addr string
|
||||||
|
@ -35,24 +36,20 @@ func main() {
|
||||||
|
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
var err error
|
log := log15.New()
|
||||||
|
if os.Getenv("KUBERNETES_SERVICE_HOST") != "" {
|
||||||
var logger *zap.Logger
|
h, err := log15.NetHandler("tcp", "oklog.log", log15.JsonFormat())
|
||||||
if debug {
|
if err != nil {
|
||||||
logger, err = zap.NewDevelopment()
|
log.Error("failed to construct network logger", "error", err)
|
||||||
} else {
|
} else {
|
||||||
logger, err = zap.NewProduction()
|
log.SetHandler(h)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if err != nil {
|
|
||||||
panic("failed to create logger: " + err.Error())
|
|
||||||
}
|
|
||||||
defer logger.Sync() // nolint
|
|
||||||
|
|
||||||
log := logger.Sugar()
|
err := db.Connect()
|
||||||
|
|
||||||
err = db.Connect()
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panicf("failed to open database: %v", err)
|
log.Crit("failed to open database", "error", err)
|
||||||
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
defer db.Get().Close() // nolint
|
defer db.Get().Close() // nolint
|
||||||
|
|
||||||
|
@ -88,7 +85,11 @@ func main() {
|
||||||
|
|
||||||
e.POST("/contact/request", contactRequest)
|
e.POST("/contact/request", contactRequest)
|
||||||
|
|
||||||
log.Fatal(e.Start(addr))
|
if err = e.Start(addr); err != nil {
|
||||||
|
log.Crit(err.Error())
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
os.Exit(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
func home(c echo.Context) error {
|
func home(c echo.Context) error {
|
||||||
|
|
Loading…
Reference in a new issue