You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by fm...@apache.org on 2026/04/02 10:30:55 UTC
(camel) 01/03: ci: backport JBang logging file appender and --java flag fix to 4.18.x
This is an automated email from the ASF dual-hosted git repository.
fmariani pushed a commit to branch camel-4.18.x
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 257070272fb2d99ecafadcff011dc25ebb98449e
Author: Croway <fe...@gmail.com>
AuthorDate: Thu Apr 2 11:25:14 2026 +0200
ci: backport JBang logging file appender and --java flag fix to 4.18.x
Backport of a5a68ff6dc4 from main. Two fixes:
1. Add missing file appender to log4j2-no-color.properties. Non-TTY
environments (Docker/CI) use this config, which only had console
appender. Tests using checkLogContains() read ~/.camel/<pid>.log
which was never written, causing timeout failures.
2. Fix jbang --java-version option: use --java instead. The
--java-version flag is not recognized by jbang. Add --java alias
and use --java= when invoking jbang for older Camel versions.
---
.../camel/dsl/jbang/core/commands/ExportBaseCommand.java | 4 +++-
.../java/org/apache/camel/dsl/jbang/core/commands/Run.java | 10 +++++++---
.../src/main/resources/log4j2-no-color.properties | 13 ++++++++++++-
.../dsl/jbang/core/commands/kubernetes/KubernetesRun.java | 2 +-
4 files changed, 23 insertions(+), 6 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 fa3b0b9c3799..5f70482cdbc8 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
@@ -160,7 +160,9 @@ public abstract class ExportBaseCommand extends CamelCommand {
defaultValue = "CamelApplication")
protected String mainClassname = "CamelApplication";
- @CommandLine.Option(names = { "--java-version" }, description = "Java version", defaultValue = "21")
+ @CommandLine.Option(names = {
+ "--java-version",
+ "--java" }, description = "Java version", defaultValue = "21")
protected String javaVersion = "21";
@CommandLine.Option(names = { "--camel-version" },
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 0d74d2cbda17..d366bec583be 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
@@ -167,8 +167,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" },
- description = "Java version", defaultValue = "21")
+ @CommandLine.Option(names = {
+ "--java-version",
+ "--java" }, description = "Java version", defaultValue = "21")
protected String javaVersion = "21";
@Option(names = { "--camel-version" }, description = "To run using a different Camel version than the default version.")
@@ -1528,7 +1529,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 e02ce08f1dbe..caebf4e5ff08 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" },