[ 
https://issues.apache.org/jira/browse/CAMEL-24699?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen reassigned CAMEL-24699:
-----------------------------------

    Assignee: Claus Ibsen

> camel-jbang - camel run on an existing Quarkus or Camel Main project does not 
> write a log file to ~/.camel
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-24699
>                 URL: https://issues.apache.org/jira/browse/CAMEL-24699
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-jbang
>            Reporter: Claus Ibsen
>            Assignee: Claus Ibsen
>            Priority: Major
>
> When {{camel run}} is pointed at an *existing* project folder that has its 
> own {{pom.xml}}, the Quarkus and Camel Main paths do not configure a log file 
> under {{~/.camel}}, so {{camel log}}, the TUI Log tab and the MCP log 
> resource have nothing to read for those processes.
> All the export-based runtimes are wired up (verified in {{Run.java}} on main, 
> 2026-09-12):
> * {{--runtime=jbang}}: log4j2 in-process to {{~/.camel/<pid>.log}}
> * {{--runtime=main}}: {{writeCamelMainRunLogConfig}} writes 
> {{camel-main-run-log4j2.properties}} into the export, logging to 
> {{~/.camel/<name>.log}}
> * {{--runtime=spring-boot}}: {{spring-boot-logback.xml}} is copied into the 
> export as {{logback.xml}}, logging to {{~/.camel/<pid>.log}}
> * {{--runtime=quarkus}}: {{quarkus.log.file.enabled=true}} and 
> {{quarkus.log.file.path=${user.home}/.camel/<name>.log}} are appended to the 
> exported {{application.properties}} (CAMEL-23831)
> The existing-project paths differ:
> * {{runExistingSpringBootProject}} copies {{spring-boot-logback.xml}} into 
> the project as {{logback-camel-jbang.xml}} and passes 
> {{-Dlogging.config=classpath:logback-camel-jbang.xml}}, so it works.
> * {{runExistingQuarkusProject}} only adds {{camel-quarkus-cli-connector}} 
> (and {{camel-quarkus-jfr}}) to a temporary pom and runs {{quarkus:dev}}. No 
> log file is configured.
> * {{runExistingCamelMainProject}} only adds {{camel-cli-connector}} (and 
> {{camel-jfr}}) to a temporary pom and runs {{camel:run}}. No log file is 
> configured.
> Both readers ({{CamelLogAction}} and the TUI {{CamelMonitor}}) try 
> {{<pid>.log}} first and fall back to {{<name>.log}}, so either naming works.
> Suggested fix: mirror what the export paths already do.
> * Quarkus: pass {{-Dquarkus.log.file.enabled=true 
> -Dquarkus.log.file.path=<~/.camel>/<name>.log}} (and the same 
> {{quarkus.log.file.format}} as the export path) through {{-Djvm.args}} or as 
> system properties on the {{quarkus:dev}} invocation, so the project's own 
> {{application.properties}} is not modified.
> * Camel Main: pass {{-Dlog4j2.configurationFile=<path>}} pointing at a 
> {{camel-main-run-log4j2.properties}} rendered into a temp location (or the 
> project's target dir) via {{-Dcamel.jvmArgs}}, mirroring 
> {{writeCamelMainRunLogConfig}}. Fall back gracefully if the project uses 
> logback instead of log4j2.
> * Clean the temp config up in the existing shutdown hook alongside 
> {{camel-jbang-run-pom.xml}}.
> This closes the last gap in "any tool reads the same log": CLI, TUI, MCP and 
> AI agents currently see logs for every {{camel run}} runtime except these two 
> existing-project cases.
> _Claude Code on behalf of davsclaus_



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to