[
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)