diff --git a/model/log.go b/model/log.go index 5493a05..05a00fe 100644 --- a/model/log.go +++ b/model/log.go @@ -4,6 +4,7 @@ import ( "context" "fmt" "one-api/common" + "os" "strings" "time" @@ -39,7 +40,15 @@ const ( ) func GetLogByKey(key string) (logs []*Log, err error) { - err = LOG_DB.Joins("left join tokens on tokens.id = logs.token_id").Where("tokens.key = ?", strings.TrimPrefix(key, "sk-")).Find(&logs).Error + if os.Getenv("LOG_SQL_DSN") != "" { + var tk Token + if err = DB.Model(&Token{}).Where("`key`=?", strings.TrimPrefix(key, "sk-")).First(&tk).Error; err != nil { + return nil, err + } + err = LOG_DB.Model(&Log{}).Where("token_id=?", tk.Id).Find(&logs).Error + } else { + err = LOG_DB.Joins("left join tokens on tokens.id = logs.token_id").Where("tokens.key = ?", strings.TrimPrefix(key, "sk-")).Find(&logs).Error + } return logs, err }