From fcb7fffe9ab6b5d08bae9e7dbd703096b567e3d6 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sat, 29 Dec 2018 22:52:58 +0000
Subject: [PATCH] Logs now the error for failed jobs.

---
 borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractCommandLineJob.java |    4 ++++
 borgbutler-core/src/test/java/de/micromata/borgbutler/jobs/TestJob.java                |    4 ++++
 2 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractCommandLineJob.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractCommandLineJob.java
index 8645d62..ea7aa11 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractCommandLineJob.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractCommandLineJob.java
@@ -34,6 +34,7 @@
     private String description;
     protected ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
     protected ByteArrayOutputStream errorOutputStream = new ByteArrayOutputStream();
+    protected boolean logError = true;
 
     protected abstract CommandLine buildCommandLine();
 
@@ -98,6 +99,9 @@
             log.info(msg + " Done.");
         } catch (Exception ex) {
             result.setStatus(JobResult.Status.ERROR);
+            if (logError && !isCancelledRequested() && getStatus() != Status.CANCELLED) {
+                log.error("Execution failed for job: '" + commandLineAsString + "': " + ex.getMessage());
+            }
             failed();
         }
         result.setResultObject(outputStream.toString(Definitions.STD_CHARSET));
diff --git a/borgbutler-core/src/test/java/de/micromata/borgbutler/jobs/TestJob.java b/borgbutler-core/src/test/java/de/micromata/borgbutler/jobs/TestJob.java
index ec40236..17d4666 100644
--- a/borgbutler-core/src/test/java/de/micromata/borgbutler/jobs/TestJob.java
+++ b/borgbutler-core/src/test/java/de/micromata/borgbutler/jobs/TestJob.java
@@ -20,6 +20,10 @@
         this.time = time;
         this.failOn = failOn;
         this.counterScript = counterScript;
+        if (failOn >= 0) {
+            // Don't log the error in the log files due to a failed job, because it's intended to force a failed job.
+            this.logError = false;
+        }
     }
 
     @Override

--
Gitblit v1.10.0