Răsfoiți Sursa

feat: print user id when error

CalciumIon 1 an în urmă
părinte
comite
b7bc205b73
3 a modificat fișierele cu 6 adăugiri și 6 ștergeri
  1. 2 2
      common/utils.go
  2. 1 2
      controller/relay.go
  3. 3 2
      middleware/utils.go

+ 2 - 2
common/utils.go

@@ -179,8 +179,8 @@ func Max(a int, b int) int {
 	}
 }
 
-func MessageWithRequestId(message string, id string, userId int) string {
-	return fmt.Sprintf("%s (request id: %s, user id: %d)", message, id, userId)
+func MessageWithRequestId(message string, id string) string {
+	return fmt.Sprintf("%s (request id: %s)", message, id)
 }
 
 func RandomSleep() {

+ 1 - 2
controller/relay.go

@@ -82,8 +82,7 @@ func Relay(c *gin.Context) {
 		if openaiErr.StatusCode == http.StatusTooManyRequests {
 			openaiErr.Error.Message = "当前分组上游负载已饱和,请稍后再试"
 		}
-		userId := c.GetInt("id")
-		openaiErr.Error.Message = common.MessageWithRequestId(openaiErr.Error.Message, requestId, userId)
+		openaiErr.Error.Message = common.MessageWithRequestId(openaiErr.Error.Message, requestId)
 		c.JSON(openaiErr.StatusCode, gin.H{
 			"error": openaiErr.Error,
 		})

+ 3 - 2
middleware/utils.go

@@ -1,6 +1,7 @@
 package middleware
 
 import (
+	"fmt"
 	"github.com/gin-gonic/gin"
 	"one-api/common"
 )
@@ -9,12 +10,12 @@ func abortWithOpenAiMessage(c *gin.Context, statusCode int, message string) {
 	userId := c.GetInt("id")
 	c.JSON(statusCode, gin.H{
 		"error": gin.H{
-			"message": common.MessageWithRequestId(message, c.GetString(common.RequestIdKey), userId),
+			"message": common.MessageWithRequestId(message, c.GetString(common.RequestIdKey)),
 			"type":    "new_api_error",
 		},
 	})
 	c.Abort()
-	common.LogError(c.Request.Context(), message)
+	common.LogError(c.Request.Context(), fmt.Sprintf("user %d | %s", userId, message))
 }
 
 func abortWithMidjourneyMessage(c *gin.Context, statusCode int, code int, description string) {