diff --git a/src/main/java/io/jenkins/plugins/explain_error/ErrorExplainer.java b/src/main/java/io/jenkins/plugins/explain_error/ErrorExplainer.java index 9ed956c..56f16be 100644 --- a/src/main/java/io/jenkins/plugins/explain_error/ErrorExplainer.java +++ b/src/main/java/io/jenkins/plugins/explain_error/ErrorExplainer.java @@ -16,6 +16,7 @@ public class ErrorExplainer { private static final Logger LOGGER = Logger.getLogger(ErrorExplainer.class.getName()); public void explainError(Run run, TaskListener listener, String logPattern, int maxLines) { + String jobInfo = run != null ? ("[" + run.getParent().getFullName() + " #" + run.getNumber() + "]") : "[unknown]"; try { GlobalConfigurationImpl config = GlobalConfigurationImpl.get(); @@ -41,6 +42,7 @@ public void explainError(Run run, TaskListener listener, String logPattern // Get AI explanation AIService aiService = new AIService(config); String explanation = aiService.explainError(errorLogs); + LOGGER.info(jobInfo + " AI error explanation succeeded."); // Store explanation in build action ErrorExplanationAction action = new ErrorExplanationAction(explanation, errorLogs); @@ -49,8 +51,8 @@ public void explainError(Run run, TaskListener listener, String logPattern // Explanation is now available on the job page, no need to clutter console output } catch (Exception e) { - LOGGER.severe("Failed to explain error: " + e.getMessage()); - listener.getLogger().println("Failed to explain error: " + e.getMessage()); + LOGGER.severe(jobInfo + " Failed to explain error: " + e.getMessage()); + listener.getLogger().println(jobInfo + " Failed to explain error: " + e.getMessage()); } } @@ -79,7 +81,8 @@ private String extractErrorLogs(Run run, String logPattern, int maxLines) * Used for console output error explanation. */ public String explainErrorText(String errorText, Run run) { - + String jobInfo = run != null ? ("[" + run.getParent().getFullName() + " #" + run.getNumber() + "]") : "[unknown]"; + try { GlobalConfigurationImpl config = GlobalConfigurationImpl.get(); @@ -101,13 +104,12 @@ public String explainErrorText(String errorText, Run run) { // Get AI explanation AIService aiService = new AIService(config); String explanation = aiService.explainError(errorText); - + LOGGER.info(jobInfo + " AI error explanation succeeded."); LOGGER.fine("Explanation length: " + (explanation != null ? explanation.length() : 0)); return explanation; - } catch (Exception e) { - LOGGER.severe("Failed to explain error text: " + e.getMessage()); + LOGGER.severe(jobInfo + " Failed to explain error text: " + e.getMessage()); e.printStackTrace(); return "Failed to explain error: " + e.getMessage(); }