@@ -114,11 +114,11 @@ func (ps *ProxyServer) executeRequestWithRetry(
114114 }
115115 logrus .Debugf ("Max retries exceeded for group %s after %d attempts. Parsed Error: %s" , group .Name , retryCount , logMessage )
116116
117- ps .logRequest (c , group , & models.APIKey {KeyValue : lastError .KeyValue }, startTime , lastError .StatusCode , retryCount , errors .New (logMessage ), isStream , lastError .UpstreamAddr )
117+ ps .logRequest (c , group , & models.APIKey {KeyValue : lastError .KeyValue }, startTime , lastError .StatusCode , retryCount , errors .New (logMessage ), isStream , lastError .UpstreamAddr , channelHandler , bodyBytes )
118118 } else {
119119 response .Error (c , app_errors .ErrMaxRetriesExceeded )
120120 logrus .Debugf ("Max retries exceeded for group %s after %d attempts." , group .Name , retryCount )
121- ps .logRequest (c , group , nil , startTime , http .StatusServiceUnavailable , retryCount , app_errors .ErrMaxRetriesExceeded , isStream , "" )
121+ ps .logRequest (c , group , nil , startTime , http .StatusServiceUnavailable , retryCount , app_errors .ErrMaxRetriesExceeded , isStream , "" , channelHandler , bodyBytes )
122122 }
123123 return
124124 }
@@ -127,7 +127,7 @@ func (ps *ProxyServer) executeRequestWithRetry(
127127 if err != nil {
128128 logrus .Errorf ("Failed to select a key for group %s on attempt %d: %v" , group .Name , retryCount + 1 , err )
129129 response .Error (c , app_errors .NewAPIError (app_errors .ErrNoKeysAvailable , err .Error ()))
130- ps .logRequest (c , group , nil , startTime , http .StatusServiceUnavailable , retryCount , err , isStream , "" )
130+ ps .logRequest (c , group , nil , startTime , http .StatusServiceUnavailable , retryCount , err , isStream , "" , channelHandler , bodyBytes )
131131 return
132132 }
133133
@@ -184,7 +184,7 @@ func (ps *ProxyServer) executeRequestWithRetry(
184184 if err != nil || (resp != nil && resp .StatusCode >= 400 ) {
185185 if err != nil && app_errors .IsIgnorableError (err ) {
186186 logrus .Debugf ("Client-side ignorable error for key %s, aborting retries: %v" , utils .MaskAPIKey (apiKey .KeyValue ), err )
187- ps .logRequest (c , group , apiKey , startTime , 499 , retryCount + 1 , err , isStream , upstreamURL )
187+ ps .logRequest (c , group , apiKey , startTime , 499 , retryCount + 1 , err , isStream , upstreamURL , channelHandler , bodyBytes )
188188 return
189189 }
190190
@@ -227,7 +227,7 @@ func (ps *ProxyServer) executeRequestWithRetry(
227227
228228 // ps.keyProvider.UpdateStatus(apiKey, group, true) // 请求成功不再重置成功次数,减少IO消耗
229229 logrus .Debugf ("Request for group %s succeeded on attempt %d with key %s" , group .Name , retryCount + 1 , utils .MaskAPIKey (apiKey .KeyValue ))
230- ps .logRequest (c , group , apiKey , startTime , resp .StatusCode , retryCount + 1 , nil , isStream , upstreamURL )
230+ ps .logRequest (c , group , apiKey , startTime , resp .StatusCode , retryCount + 1 , nil , isStream , upstreamURL , channelHandler , bodyBytes )
231231
232232 for key , values := range resp .Header {
233233 for _ , value := range values {
@@ -254,6 +254,8 @@ func (ps *ProxyServer) logRequest(
254254 finalError error ,
255255 isStream bool ,
256256 upstreamAddr string ,
257+ channelHandler channel.ChannelProxy ,
258+ bodyBytes []byte ,
257259) {
258260 if ps .requestLogService == nil {
259261 return
@@ -274,6 +276,11 @@ func (ps *ProxyServer) logRequest(
274276 IsStream : isStream ,
275277 UpstreamAddr : utils .TruncateString (upstreamAddr , 500 ),
276278 }
279+
280+ if channelHandler != nil && bodyBytes != nil {
281+ logEntry .Model = channelHandler .ExtractModel (c , bodyBytes )
282+ }
283+
277284 if apiKey != nil {
278285 logEntry .KeyValue = apiKey .KeyValue
279286 }
0 commit comments