[ 
https://issues.apache.org/jira/browse/CAMEL-22138?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17956112#comment-17956112
 ] 

Aurélien Pupier commented on CAMEL-22138:
-----------------------------------------

In fact, the file is not created with the pid in the name on Linux neither when 
playing test. the difference is that on linux a file named `${sys:pid}.log` is 
valid, not on Windows.

There is this code in CamelJBangMain 
https://github.com/apache/camel/blob/76a4f13862187d2cb75d3db2470c2424bed30955/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/CamelJBangMain.java#L76-L82
 which avoids to hit this issue outside of the tests.

the ${pid} was for log4j 1
log4j 2 is using %pid but only in pattern layouts 
https://logging.apache.org/log4j/2.x/manual/pattern-layout.html#converter-pid 
not on File appenders 
https://logging.apache.org/log4j/2.x/manual/appenders/file.html

I have not found a way to use the pid for the file name as a builtin 
functinality, so seems we will need to find a way to set it as a system 
property as it is done in CamelJBangMain run for the tests

> Camel-JBang tests on Windows: ERROR Could not create plugin of type class 
> org.apache.logging.log4j.core.appender.FileAppender
> -----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-22138
>                 URL: https://issues.apache.org/jira/browse/CAMEL-22138
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-jbang
>    Affects Versions: 4.12.0
>            Reporter: Aurélien Pupier
>            Assignee: Aurélien Pupier
>            Priority: Minor
>
> a lot of stack of this kind is listed when playing Camel Jbang tests on 
> Windows:
> {noformat}
> 2025-06-04T11:35:19.341404500Z ForkJoinPool-1-worker-1 ERROR Could not create 
> plugin of type class org.apache.logging.log4j.core.appender.FileAppender for 
> element File: java.lang.IllegalStateException: ManagerFactory 
> [org.apache.logging.log4j.core.appender.FileManager$FileManagerFactory@57a0863d]
>  unable to create manager for [C:\Users\Aurelien 
> Pupier\.camel\${sys:pid}.log] with data 
> [org.apache.logging.log4j.core.appender.FileManager$FactoryData@691c6aea] 
> java.lang.IllegalStateException: ManagerFactory 
> [org.apache.logging.log4j.core.appender.FileManager$FileManagerFactory@57a0863d]
>  unable to create manager for [C:\Users\Aurelien 
> Pupier\.camel\${sys:pid}.log] with data 
> [org.apache.logging.log4j.core.appender.FileManager$FactoryData@691c6aea]
>       at 
> org.apache.logging.log4j.core.appender.AbstractManager.getManager(AbstractManager.java:148)
>       at 
> org.apache.logging.log4j.core.appender.OutputStreamManager.getManager(OutputStreamManager.java:112)
>       at 
> org.apache.logging.log4j.core.appender.FileManager.getFileManager(FileManager.java:225)
>       at 
> org.apache.logging.log4j.core.appender.FileAppender$Builder.build(FileAppender.java:102)
>       at 
> org.apache.logging.log4j.core.appender.FileAppender$Builder.build(FileAppender.java:55)
>       at 
> org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:124)
>       at 
> org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1180)
>       at 
> org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1099)
>       at 
> org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1091)
>       at 
> org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:695)
>       at 
> org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:270)
>       at 
> org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:319)
>       at 
> org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:673)
>       at 
> org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:762)
>       at 
> org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:784)
>       at 
> org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:300)
>       at 
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:153)
>       at 
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:46)
>       at org.apache.logging.log4j.LogManager.getContext(LogManager.java:138)
>       at 
> org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:136)
>       at 
> org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:58)
>       at 
> org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:46)
>       at 
> org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:32)
>       at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:447)
>       at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:472)
>       at 
> org.apache.camel.main.download.MavenDependencyDownloader.<clinit>(MavenDependencyDownloader.java:63)
>       at 
> org.apache.camel.dsl.jbang.core.commands.update.UpdateList.doCall(UpdateList.java:113)
>       at 
> org.apache.camel.dsl.jbang.core.commands.update.UpdateListTest.listUpdateVersions(UpdateListTest.java:33)
> {noformat}



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

Reply via email to