diff --git a/src/main/java/com/epam/aidial/core/ProxyContext.java b/src/main/java/com/epam/aidial/core/ProxyContext.java index 8a803f825..d7d874b4e 100644 --- a/src/main/java/com/epam/aidial/core/ProxyContext.java +++ b/src/main/java/com/epam/aidial/core/ProxyContext.java @@ -20,14 +20,18 @@ import lombok.Getter; import lombok.Setter; import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; import java.util.List; import java.util.Map; +@Slf4j @Getter @Setter public class ProxyContext { + private static final int LOG_MAX_ERROR_LENGTH = 200; + private final Config config; // API key of root requester private final Key key; @@ -106,8 +110,16 @@ public Future respond(HttpStatus status, Object object) { } public Future respond(HttpStatus status, String body) { - return response.setStatusCode(status.getCode()) - .end(body == null ? "" : body); + if (body == null) { + body = ""; + } + + if (status != HttpStatus.OK) { + log.warn("Responding with error. Trace: {}. Span: {}. Status: {}. Body: {}", traceId, spanId, status, + body.length() > LOG_MAX_ERROR_LENGTH ? body.substring(0, LOG_MAX_ERROR_LENGTH) : body); + } + + return response.setStatusCode(status.getCode()).end(body); } public String getProject() {