You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by zh...@apache.org on 2023/03/03 09:07:54 UTC
[apisix-ingress-controller] branch master updated: fix: set the health check log level by gin to debug (#1580)
This is an automated email from the ASF dual-hosted git repository.
zhangjintao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-ingress-controller.git
The following commit(s) were added to refs/heads/master by this push:
new 51d0ecdb fix: set the health check log level by gin to debug (#1580)
51d0ecdb is described below
commit 51d0ecdbf11c2899ff2a6fcfc94b21083d34c2eb
Author: Aryan <75...@users.noreply.github.com>
AuthorDate: Fri Mar 3 14:37:47 2023 +0530
fix: set the health check log level by gin to debug (#1580)
Signed-off-by: Aryan <75...@users.noreply.github.com>
---
pkg/api/server.go | 2 +-
pkg/log/gin_logger.go | 14 +++++++-------
pkg/log/gin_logger_test.go | 12 ++++++++----
3 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/pkg/api/server.go b/pkg/api/server.go
index 762f5d15..6da1d611 100644
--- a/pkg/api/server.go
+++ b/pkg/api/server.go
@@ -51,7 +51,7 @@ func NewServer(cfg *config.Config) (*Server, error) {
}
gin.SetMode(gin.ReleaseMode)
httpServer := gin.New()
- httpServer.Use(log.GinRecovery(log.DefaultLogger, true), log.GinLogger(log.DefaultLogger))
+ httpServer.Use(log.GinRecovery(true), log.GinLogger())
apirouter.Mount(httpServer)
srv := &Server{
diff --git a/pkg/log/gin_logger.go b/pkg/log/gin_logger.go
index 9f729555..927db5ca 100644
--- a/pkg/log/gin_logger.go
+++ b/pkg/log/gin_logger.go
@@ -27,7 +27,7 @@ import (
)
// GinLogger receive gin The default log of the framework
-func GinLogger(logger *Logger) gin.HandlerFunc {
+func GinLogger() gin.HandlerFunc {
return func(c *gin.Context) {
start := time.Now()
path := c.Request.URL.Path
@@ -35,17 +35,17 @@ func GinLogger(logger *Logger) gin.HandlerFunc {
c.Next()
cost := time.Since(start)
if c.Writer.Status() >= 400 && c.Writer.Status() <= 599 {
- logger.Errorf("path: %s, status: %d, method: %s, query: %s, ip: %s, user-agent: %s, errors: %s, cost: %s",
+ Errorf("path: %s, status: %d, method: %s, query: %s, ip: %s, user-agent: %s, errors: %s, cost: %s",
path, c.Writer.Status(), c.Request.Method, query, c.ClientIP(), c.Request.UserAgent(), c.Errors.ByType(gin.ErrorTypePrivate).String(), cost)
} else {
- logger.Infof("path: %s, status: %d, method: %s, query: %s, ip: %s, user-agent: %s, errors: %s, cost: %s",
+ Debugf("path: %s, status: %d, method: %s, query: %s, ip: %s, user-agent: %s, errors: %s, cost: %s",
path, c.Writer.Status(), c.Request.Method, query, c.ClientIP(), c.Request.UserAgent(), c.Errors.ByType(gin.ErrorTypePrivate).String(), cost)
}
}
}
// GinRecovery recover Drop the project that may appear panic
-func GinRecovery(logger *Logger, stack bool) gin.HandlerFunc {
+func GinRecovery(stack bool) gin.HandlerFunc {
return func(c *gin.Context) {
defer func() {
if err := recover(); err != nil {
@@ -62,7 +62,7 @@ func GinRecovery(logger *Logger, stack bool) gin.HandlerFunc {
}
httpRequest, _ := httputil.DumpRequest(c.Request, false)
if brokenPipe {
- logger.Errorf("path: %s, error: %s, request: %s",
+ Errorf("path: %s, error: %s, request: %s",
c.Request.URL.Path, err, string(httpRequest))
// If the connection is dead, we can't write a status to it.
c.Error(err.(error)) // nolint: errcheck
@@ -71,11 +71,11 @@ func GinRecovery(logger *Logger, stack bool) gin.HandlerFunc {
return
}
if stack {
- logger.Errorf("error: [Recovery from panic] %s, request: %s, stack: %s",
+ Errorf("error: [Recovery from panic] %s, request: %s, stack: %s",
err, string(httpRequest), string(debug.Stack()),
)
} else {
- logger.Errorf("error: [Recovery from panic] %s, request: %s",
+ Errorf("error: [Recovery from panic] %s, request: %s",
err, string(httpRequest))
}
c.AbortWithStatus(http.StatusInternalServerError)
diff --git a/pkg/log/gin_logger_test.go b/pkg/log/gin_logger_test.go
index 5e8e6037..2faa45c2 100644
--- a/pkg/log/gin_logger_test.go
+++ b/pkg/log/gin_logger_test.go
@@ -49,11 +49,12 @@ func TestGinLogger(t *testing.T) {
t.Run("test log with gin logger", func(t *testing.T) {
fws := &fakeWriteSyncer{}
logger, err := NewLogger(WithLogLevel("debug"), WithWriteSyncer(fws))
+ DefaultLogger = logger
assert.Nil(t, err, "failed to new logger: ", err)
defer logger.Close()
router := gin.New()
- router.Use(GinLogger(logger))
+ router.Use(GinLogger())
router.GET("/healthz", func(c *gin.Context) {})
performRequest(router, "GET", "/healthz")
res := string(fws.bytes())
@@ -64,11 +65,12 @@ func TestGinLogger(t *testing.T) {
t.Run("test log with gin logger 4xx and 5xx", func(t *testing.T) {
fws := &fakeWriteSyncer{}
logger, err := NewLogger(WithLogLevel("debug"), WithWriteSyncer(fws))
+ DefaultLogger = logger
assert.Nil(t, err, "failed to new logger: ", err)
defer logger.Close()
router := gin.New()
- router.Use(GinLogger(logger))
+ router.Use(GinLogger())
router.GET("/healthz", func(c *gin.Context) { c.JSON(500, nil) })
performRequest(router, "GET", "/healthz")
res := string(fws.bytes())
@@ -90,11 +92,12 @@ func TestGinRecovery(t *testing.T) {
t.Run("test log with gin recovery with stack", func(t *testing.T) {
fws := &fakeWriteSyncer{}
logger, err := NewLogger(WithLogLevel("debug"), WithWriteSyncer(fws))
+ DefaultLogger = logger
assert.Nil(t, err, "failed to new logger: ", err)
defer logger.Close()
router := gin.New()
- router.Use(GinRecovery(logger, true))
+ router.Use(GinRecovery(true))
router.GET("/healthz", func(c *gin.Context) { panic("test log with gin recovery") })
performRequest(router, "GET", "/healthz")
res := string(fws.bytes())
@@ -107,11 +110,12 @@ func TestGinRecovery(t *testing.T) {
t.Run("test log with gin recovery", func(t *testing.T) {
fws := &fakeWriteSyncer{}
logger, err := NewLogger(WithLogLevel("debug"), WithWriteSyncer(fws))
+ DefaultLogger = logger
assert.Nil(t, err, "failed to new logger: ", err)
defer logger.Close()
router := gin.New()
- router.Use(GinRecovery(logger, false))
+ router.Use(GinRecovery(false))
router.GET("/healthz", func(c *gin.Context) { panic("test log with gin recovery") })
performRequest(router, "GET", "/healthz")
res := string(fws.bytes())