|
1 | 1 | package io.quarkiverse.githubapp.runtime.error; |
2 | 2 |
|
| 3 | +import java.util.ArrayList; |
| 4 | +import java.util.List; |
3 | 5 | import java.util.Optional; |
4 | 6 |
|
5 | 7 | import jakarta.enterprise.context.ApplicationScoped; |
@@ -30,37 +32,45 @@ public class DefaultErrorHandler implements ErrorHandler { |
30 | 32 | @Override |
31 | 33 | public void handleError(GitHubEvent gitHubEvent, GHEventPayload payload, Throwable t) { |
32 | 34 | StringBuilder errorMessage = new StringBuilder(); |
33 | | - errorMessage.append("Error handling delivery " + gitHubEvent.getDeliveryId() + "\n"); |
| 35 | + List<String> errorMessageParameters = new ArrayList<>(); |
| 36 | + |
| 37 | + errorMessage.append("Error handling delivery {").append(errorMessageParameters.size()).append("}\n"); |
| 38 | + errorMessageParameters.add(gitHubEvent.getDeliveryId()); |
34 | 39 | if (t instanceof ServiceDownException || t instanceof GitHubServiceDownException) { |
35 | 40 | errorMessage |
36 | 41 | .append("››› GitHub APIs are not available at the moment. Have a look at https://www.githubstatus.com.\n"); |
37 | 42 | } |
38 | 43 | if (gitHubEvent.getRepository().isPresent()) { |
39 | | - errorMessage.append("› Repository: " + gitHubEvent.getRepository().get() + "\n"); |
| 44 | + errorMessage.append("› Repository: {").append(errorMessageParameters.size()).append("}\n"); |
| 45 | + errorMessageParameters.add(gitHubEvent.getRepository().get()); |
40 | 46 | } |
41 | | - errorMessage.append("› Event: " + gitHubEvent.getEventAction() + "\n"); |
| 47 | + errorMessage.append("› Event: {").append(errorMessageParameters.size()).append("}\n"); |
| 48 | + errorMessageParameters.add(gitHubEvent.getEventAction()); |
42 | 49 |
|
43 | 50 | if (payload != null) { |
44 | 51 | Optional<String> context = PayloadHelper.getContext(payload); |
45 | 52 | if (context.isPresent()) { |
46 | | - errorMessage.append("› Context: " + PayloadHelper.getContext(payload).get() + "\n"); |
| 53 | + errorMessage.append("› Context: {").append(errorMessageParameters.size()).append("}\n"); |
| 54 | + errorMessageParameters.add(PayloadHelper.getContext(payload).get()); |
47 | 55 | } |
48 | 56 | } |
49 | 57 |
|
50 | 58 | if (gitHubEvent.getAppName().isPresent()) { |
51 | | - errorMessage.append("› Redeliver: " + String.format(REDELIVERY_URL, gitHubEvent.getAppName().get()) + "\n"); |
| 59 | + errorMessage.append("› Redeliver: {").append(errorMessageParameters.size()).append("}\n"); |
| 60 | + errorMessageParameters.add(String.format(REDELIVERY_URL, gitHubEvent.getAppName().get())); |
52 | 61 | } |
53 | 62 |
|
54 | 63 | if (launchMode.isDevOrTest()) { |
55 | 64 | errorMessage.append("› Payload:\n") |
56 | 65 | .append("----\n") |
57 | | - .append(gitHubEvent.getParsedPayload().encodePrettily()).append("\n") |
| 66 | + .append("{").append(errorMessageParameters.size()).append("}\n") |
58 | 67 | .append("----\n"); |
| 68 | + errorMessageParameters.add(gitHubEvent.getParsedPayload().encodePrettily()); |
59 | 69 | } |
60 | 70 |
|
61 | 71 | errorMessage.append("Exception"); |
62 | 72 |
|
63 | | - LOG.error(errorMessage.toString(), t); |
| 73 | + LOG.errorv(t, errorMessage.toString(), errorMessageParameters.toArray()); |
64 | 74 | } |
65 | 75 |
|
66 | 76 | } |
0 commit comments