This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch cl in repository https://gitbox.apache.org/repos/asf/camel.git
commit 1152b0fa34893314bbc25e82d4b80f20b482a986 Author: Claus Ibsen <[email protected]> AuthorDate: Mon Mar 2 10:06:23 2026 +0100 CAMEL-23111: camel-jbang - camel run will log all fatal errors using LOG so they can be captured by configured logging settings, which may be sending logs to monitoring systems. Although camel run is only/primary for development purpose. --- .../org/apache/camel/dsl/jbang/core/commands/Run.java | 15 ++++++++------- .../src/main/java/org/apache/camel/main/KameletMain.java | 7 +++++++ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java index a042542637b4..6614df67c1c6 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java @@ -1709,14 +1709,15 @@ public class Run extends CamelCommand { } protected int runKameletMain(KameletMain main) throws Exception { - main.start(); - main.run(); - - // cleanup and delete log file - if (logFile != null) { - FileUtil.deleteFile(logFile); + try { + main.start(); + main.run(); + } finally { + // cleanup and delete log file + if (logFile != null) { + FileUtil.deleteFile(logFile); + } } - return main.getExitCode(); } diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java index f31ff10ddcae..deda5b3178f2 100644 --- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java +++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java @@ -173,6 +173,13 @@ public class KameletMain extends MainCommandLineSupport { // normal exit } + @Override + protected void doFail(Exception e) { + // ensure any unhandled fatal errors are also logged before terminating process + LOG.error("Error starting Camel: {}", e, e); + super.doFail(e); + } + /** * Binds the given <code>name</code> to the <code>bean</code> object, so that it can be looked up inside the * CamelContext this command line tool runs with.
