From fd6838e690a0ae2b8b3cf3f70ae4f2a1b28bb6dc Mon Sep 17 00:00:00 2001 From: CaIon <1808837298@qq.com> Date: Tue, 29 Apr 2025 16:26:55 +0800 Subject: [PATCH] feat: enable error logging configuration in docker-compose and application --- constant/env.go | 3 +++ controller/relay.go | 3 ++- docker-compose.yml | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/constant/env.go b/constant/env.go index 5a494852..fae48625 100644 --- a/constant/env.go +++ b/constant/env.go @@ -16,6 +16,7 @@ var GeminiVisionMaxImageNum int var NotifyLimitCount int var NotificationLimitDurationMinute int var GenerateDefaultToken bool +var ErrorLogEnabled bool //var GeminiModelMap = map[string]string{ // "gemini-1.0-pro": "v1", @@ -36,6 +37,8 @@ func InitEnv() { NotificationLimitDurationMinute = common.GetEnvOrDefault("NOTIFICATION_LIMIT_DURATION_MINUTE", 10) // GenerateDefaultToken 是否生成初始令牌,默认关闭。 GenerateDefaultToken = common.GetEnvOrDefaultBool("GENERATE_DEFAULT_TOKEN", false) + // 是否启用错误日志 + ErrorLogEnabled = common.GetEnvOrDefaultBool("ERROR_LOG_ENABLED", false) //modelVersionMapStr := strings.TrimSpace(os.Getenv("GEMINI_MODEL_MAP")) //if modelVersionMapStr == "" { diff --git a/controller/relay.go b/controller/relay.go index ad9323be..91477665 100644 --- a/controller/relay.go +++ b/controller/relay.go @@ -10,6 +10,7 @@ import ( "log" "net/http" "one-api/common" + constant2 "one-api/constant" "one-api/dto" "one-api/middleware" "one-api/model" @@ -40,7 +41,7 @@ func relayHandler(c *gin.Context, relayMode int) *dto.OpenAIErrorWithStatusCode err = relay.TextHelper(c) } - if err != nil { + if constant2.ErrorLogEnabled && err != nil { // 保存错误日志到mysql中 userId := c.GetInt("id") tokenName := c.GetString("token_name") diff --git a/docker-compose.yml b/docker-compose.yml index 483c12df..3d707ed0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,6 +15,7 @@ services: - SQL_DSN=root:123456@tcp(mysql:3306)/new-api # Point to the mysql service - REDIS_CONN_STRING=redis://redis - TZ=Asia/Shanghai + - ERROR_LOG_ENABLED=true # 是否启用错误日志记录 # - TIKTOKEN_CACHE_DIR=./tiktoken_cache # 如果需要使用tiktoken_cache,请取消注释 # - SESSION_SECRET=random_string # 多机部署时设置,必须修改这个随机字符串!!!!!!! # - NODE_TYPE=slave # Uncomment for slave node in multi-node deployment