Skip to content

Commit f1e3834

Browse files
ricken07tzolov
authored andcommitted
add the ability to customize logger order
1 parent 1d6bcbc commit f1e3834

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/SimpleLoggerAdvisor.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ public class SimpleLoggerAdvisor implements CallAroundAdvisor, StreamAroundAdvis
4040

4141
private static final Logger logger = LoggerFactory.getLogger(SimpleLoggerAdvisor.class);
4242

43+
private int order;
44+
4345
public static final Function<AdvisedRequest, String> DEFAULT_REQUEST_TO_STRING = (request) -> {
4446
return request.toString();
4547
};
@@ -53,13 +55,18 @@ public class SimpleLoggerAdvisor implements CallAroundAdvisor, StreamAroundAdvis
5355
private final Function<ChatResponse, String> responseToString;
5456

5557
public SimpleLoggerAdvisor() {
56-
this(DEFAULT_REQUEST_TO_STRING, DEFAULT_RESPONSE_TO_STRING);
58+
this(DEFAULT_REQUEST_TO_STRING, DEFAULT_RESPONSE_TO_STRING, 0);
59+
}
60+
61+
public SimpleLoggerAdvisor(int order) {
62+
this(DEFAULT_REQUEST_TO_STRING, DEFAULT_RESPONSE_TO_STRING, order);
5763
}
5864

5965
public SimpleLoggerAdvisor(Function<AdvisedRequest, String> requestToString,
60-
Function<ChatResponse, String> responseToString) {
66+
Function<ChatResponse, String> responseToString, int order) {
6167
this.requestToString = requestToString;
6268
this.responseToString = responseToString;
69+
this.order = order;
6370
}
6471

6572
@Override
@@ -69,7 +76,7 @@ public String getName() {
6976

7077
@Override
7178
public int getOrder() {
72-
return 0;
79+
return this.order;
7380
}
7481

7582
private AdvisedRequest before(AdvisedRequest request) {

spring-ai-core/src/test/java/org/springframework/ai/chat/client/advisor/SimpleLoggerAdvisorTests.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,14 @@ public void streamLogging(CapturedOutput output) {
8989
validate(content, output);
9090
}
9191

92+
@Test
93+
public void loggingOrder() {
94+
95+
var loggerAdvisor = new SimpleLoggerAdvisor(1);
96+
97+
assertThat(loggerAdvisor.getOrder()).isEqualTo(1);
98+
}
99+
92100
private void validate(String content, CapturedOutput output) {
93101
assertThat(content).isEqualTo("Your answer is ZXY");
94102

0 commit comments

Comments
 (0)