This is an automated email from the ASF dual-hosted git repository.

fmariani pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new a5a68ff6dc46 Fix camel-jbang logging file appender and jbang java 
version option (#22337)
a5a68ff6dc46 is described below

commit a5a68ff6dc46f398481d9a1ab0a888989e1f90d4
Author: Federico Mariani <[email protected]>
AuthorDate: Mon Mar 30 17:38:07 2026 +0200

    Fix camel-jbang logging file appender and jbang java version option (#22337)
    
    * Fix camel-jbang logging and jbang java version option
    
    Two fixes for the Camel JBang IT test failures:
    
    1. Add missing file appender to log4j2-no-color.properties. The
       no-color logging config lacked the file appender that log4j2.properties
       has. Since CAMEL-23226 changed loggingColor to auto-detect based on
       environment (EnvironmentHelper.isColorEnabled()), non-TTY environments
       like Docker containers now use the no-color config, which wrote logs
       only to console and never to ~/.camel/<pid>.log. This caused camel log
       to always return empty output, failing 38+ IT tests with timeouts.
    
    2. Fix jbang --java-version option: use --java instead. The
       --java-version flag is not recognized by jbang. The correct flag to
       set the Java version is --java. This caused failures when running
       with --camel-version pointing to older Camel versions.
    
    * Add --java alias for --java-version option for consistency with jbang
    
    Keep --java-version for backward compatibility and add --java as an
    alias in Run, ExportBaseCommand, and KubernetesRun commands.
    
    Strip --java/--java-version from cmds in runCamelVersion() to avoid
    passing an unrecognized option to older Camel versions that only know
    --java-version.
---
 .../camel/dsl/jbang/core/commands/ExportBaseCommand.java    |  4 +++-
 .../java/org/apache/camel/dsl/jbang/core/commands/Run.java  |  9 +++++++--
 .../src/main/resources/log4j2-no-color.properties           | 13 ++++++++++++-
 .../dsl/jbang/core/commands/kubernetes/KubernetesRun.java   |  2 +-
 4 files changed, 23 insertions(+), 5 deletions(-)

diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
index 24ccf486aa70..1f6873c74ba9 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
@@ -164,7 +164,9 @@ public abstract class ExportBaseCommand extends 
CamelCommand {
                         defaultValue = "CamelApplication")
     protected String mainClassname = "CamelApplication";
 
-    @CommandLine.Option(names = { "--java-version" }, completionCandidates = 
JavaVersionCompletionCandidates.class,
+    @CommandLine.Option(names = {
+            "--java-version",
+            "--java" }, completionCandidates = 
JavaVersionCompletionCandidates.class,
                         description = "Java version 
(${COMPLETION-CANDIDATES})", defaultValue = "21")
     protected String javaVersion = "21";
 
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 04b96872916e..eebb0271e9fb 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
@@ -178,7 +178,9 @@ public class Run extends CamelCommand {
     @Option(names = { "--empty" }, defaultValue = "false", description = "Run 
an empty Camel without loading source files")
     public boolean empty;
 
-    @CommandLine.Option(names = { "--java-version" }, completionCandidates = 
JavaVersionCompletionCandidates.class,
+    @CommandLine.Option(names = {
+            "--java-version",
+            "--java" }, completionCandidates = 
JavaVersionCompletionCandidates.class,
                         description = "Java version 
(${COMPLETION-CANDIDATES})", defaultValue = "21")
     protected String javaVersion = "21";
 
@@ -1490,7 +1492,10 @@ public class Run extends CamelCommand {
         }
 
         if (javaVersion != null) {
-            jbangArgs.add("--java-version=" + javaVersion);
+            jbangArgs.add("--java=" + javaVersion);
+            // remove from cmds so it is not passed to the older Camel version
+            // which may not recognize the --java alias
+            cmds.removeIf(arg -> arg.startsWith("--java-version") || 
arg.startsWith("--java="));
         }
         if (repositories != null) {
             jbangArgs.add("--repos=" + repositories);
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/resources/log4j2-no-color.properties
 
b/dsl/camel-jbang/camel-jbang-core/src/main/resources/log4j2-no-color.properties
index 6dcdec667d34..6d069aaf0abc 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/resources/log4j2-no-color.properties
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/resources/log4j2-no-color.properties
@@ -22,6 +22,17 @@ appender.stdout.layout.type = PatternLayout
 # logging style that is similar to spring boot (no color)
 appender.stdout.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} %5p %pid --- 
[%15.15t] %-35.35c : %m%n
 
+# file logger
+appender.file.type = File
+appender.file.name = file
+appender.file.fileName = 
${sys:user.home}${sys:file.separator}.camel${sys:file.separator}${sys:pid}.log
+appender.file.createOnDemand = true
+appender.file.append = false
+appender.file.layout.type = PatternLayout
+# logging style that is similar to spring boot (no color)
+appender.file.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} %5p %pid --- 
[%15.15t] %-35.35c : %m%n
+
+# log to console and file
+rootLogger = INFO,out,file
 rootLogger.level = INFO
-rootLogger.appenderRef.out.ref = out
 
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRun.java
 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRun.java
index afa5a27ccaf5..2717ec92b683 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRun.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRun.java
@@ -231,7 +231,7 @@ public class KubernetesRun extends KubernetesBaseCommand {
                         description = "Whether downloading JARs from ASF Maven 
Snapshot repository is enabled")
     boolean mavenApacheSnapshotEnabled = true;
 
-    @CommandLine.Option(names = { "--java-version" }, description = "Java 
version", defaultValue = "21")
+    @CommandLine.Option(names = { "--java-version", "--java" }, description = 
"Java version", defaultValue = "21")
     String javaVersion = "21";
 
     @CommandLine.Option(names = { "--camel-version" },

Reply via email to