add the ability to customize logger order

This commit is contained in:
Ricken Bazolo
2024-10-18 11:59:31 +02:00
committed by Christian Tzolov
parent 1d6bcbcedf
commit f1e3834f6e
2 changed files with 18 additions and 3 deletions

View File

@@ -40,6 +40,8 @@ public class SimpleLoggerAdvisor implements CallAroundAdvisor, StreamAroundAdvis
private static final Logger logger = LoggerFactory.getLogger(SimpleLoggerAdvisor.class);
private int order;
public static final Function<AdvisedRequest, String> DEFAULT_REQUEST_TO_STRING = (request) -> {
return request.toString();
};
@@ -53,13 +55,18 @@ public class SimpleLoggerAdvisor implements CallAroundAdvisor, StreamAroundAdvis
private final Function<ChatResponse, String> responseToString;
public SimpleLoggerAdvisor() {
this(DEFAULT_REQUEST_TO_STRING, DEFAULT_RESPONSE_TO_STRING);
this(DEFAULT_REQUEST_TO_STRING, DEFAULT_RESPONSE_TO_STRING, 0);
}
public SimpleLoggerAdvisor(int order) {
this(DEFAULT_REQUEST_TO_STRING, DEFAULT_RESPONSE_TO_STRING, order);
}
public SimpleLoggerAdvisor(Function<AdvisedRequest, String> requestToString,
Function<ChatResponse, String> responseToString) {
Function<ChatResponse, String> responseToString, int order) {
this.requestToString = requestToString;
this.responseToString = responseToString;
this.order = order;
}
@Override
@@ -69,7 +76,7 @@ public class SimpleLoggerAdvisor implements CallAroundAdvisor, StreamAroundAdvis
@Override
public int getOrder() {
return 0;
return this.order;
}
private AdvisedRequest before(AdvisedRequest request) {

View File

@@ -89,6 +89,14 @@ public class SimpleLoggerAdvisorTests {
validate(content, output);
}
@Test
public void loggingOrder() {
var loggerAdvisor = new SimpleLoggerAdvisor(1);
assertThat(loggerAdvisor.getOrder()).isEqualTo(1);
}
private void validate(String content, CapturedOutput output) {
assertThat(content).isEqualTo("Your answer is ZXY");