mirror of
https://github.com/songquanpeng/one-api.git
synced 2025-09-17 01:06:37 +08:00
feat: 添加支持通过环境变量 LOG_LEVEL
控制输出日志等级
This commit is contained in:
parent
104c4bc450
commit
8d4baf6141
@ -158,6 +158,8 @@ var GeminiVersion = env.String("GEMINI_VERSION", "v1")
|
||||
|
||||
var OnlyOneLogFile = env.Bool("ONLY_ONE_LOG_FILE", false)
|
||||
|
||||
var LogLevel = env.String("LOG_LEVEL", "INFO")
|
||||
|
||||
var RelayProxy = env.String("RELAY_PROXY", "")
|
||||
var UserContentRequestProxy = env.String("USER_CONTENT_REQUEST_PROXY", "")
|
||||
var UserContentRequestTimeout = env.Int("USER_CONTENT_REQUEST_TIMEOUT", 30)
|
||||
|
@ -28,6 +28,30 @@ const (
|
||||
loggerFatal loggerLevel = "FATAL"
|
||||
)
|
||||
|
||||
// logLevel priority: DEBUG < INFO < WARN < ERROR < FATAL
|
||||
func getLevelPriority(level loggerLevel) int {
|
||||
switch level {
|
||||
case loggerDEBUG:
|
||||
return 0
|
||||
case loggerINFO:
|
||||
return 1
|
||||
case loggerWarn:
|
||||
return 2
|
||||
case loggerError:
|
||||
return 3
|
||||
case loggerFatal:
|
||||
return 4
|
||||
default:
|
||||
return 1 // 默认为 INFO 级别
|
||||
}
|
||||
}
|
||||
|
||||
// shouldLog 检查是否应该输出该等级的日志
|
||||
func shouldLog(level loggerLevel) bool {
|
||||
configLevel := loggerLevel(strings.ToUpper(config.LogLevel))
|
||||
return getLevelPriority(level) >= getLevelPriority(configLevel)
|
||||
}
|
||||
|
||||
var setupLogOnce sync.Once
|
||||
|
||||
func SetupLogger() {
|
||||
@ -120,6 +144,11 @@ func FatalLogf(format string, a ...any) {
|
||||
}
|
||||
|
||||
func logHelper(ctx context.Context, level loggerLevel, msg string) {
|
||||
// 检查是否应该输出该等级的日志
|
||||
if !shouldLog(level) {
|
||||
return
|
||||
}
|
||||
|
||||
writer := gin.DefaultErrorWriter
|
||||
if level == loggerINFO {
|
||||
writer = gin.DefaultWriter
|
||||
|
Loading…
Reference in New Issue
Block a user