Hi,

I just tested the configuration I provided in etc/org.ops4j.pax.logging.cfg.

Here’s my config (in etc/org.ops4j.pax.logging.cfg):

First, I’ve enabled sift appender:

log4j2.rootLogger.appenderRef.Sift.ref = Routing

Then, I added the appender:

log4j2.appender.routing.type = Routing
log4j2.appender.routing.name = Routing
log4j2.appender.routing.routes.type = Routes
log4j2.appender.routing.routes.pattern = \$\$\\\{ctx:bundle.name\}
log4j2.appender.routing.routes.bundle.type = Route
log4j2.appender.routing.routes.bundle.appender.type = RollingRandomAccessFile
log4j2.appender.routing.routes.bundle.appender.name = 
Bundle-\$\\\{ctx:bundle.name\}
log4j2.appender.routing.routes.bundle.appender.fileName = 
${karaf.log}/bundle-\$\\\{ctx:bundle.name\}.log
log4j2.appender.routing.routes.bundle.appender.filePattern = 
${karaf.log}/bundle-\$\\\{ctx:bundle.name\}.log.%i
log4j2.appender.routing.routes.bundle.appender.append = true
log4j2.appender.routing.routes.bundle.appender.layout.type = PatternLayout
log4j2.appender.routing.routes.bundle.appender.layout.pattern = 
${log4j2.pattern}
log4j2.appender.routing.routes.bundle.appender.policies.type = Policies
log4j2.appender.routing.routes.bundle.appender.policies.size.type = 
SizeBasedTriggeringPolicy
log4j2.appender.routing.routes.bundle.appender.policies.size.size = 8MB 

And it works fine.

It seems that your problem is about Windows.
You are mixing windows style path with Unix style.

For fileName and filePattern, can you please use absolution path. Something 
like:

log4j2.appender.routing.routes.bundle.appender.fileName = 
D:\karaf\apache-karaf-4.3.0\bundle-\$\\\{ctx:bundle.name\}.log

It should work.

Regards
JB

> Le 23 déc. 2020 à 10:58, michael e <[email protected]> a écrit :
> 
> Hello,
> 
> I'm getting in trouble trying to configure MDC logging with latest Karaf and 
> Camel Version
> 
> Here my logging configuration
> 
> log4j2.appender.routing.type = Routing
> log4j2.appender.routing.name = Routing
> log4j2.appender.routing.routes.type = Routes
> log4j2.appender.routing.routes.pattern = \$\$\\\{ctx:bundle.name\}
> log4j2.appender.routing.routes.bundle.type = Route
> log4j2.appender.routing.routes.bundle.appender.type = RollingRandomAccessFile
> log4j2.appender.routing.routes.bundle.appender.name = 
> Bundle-\$\\\{ctx:bundle.name\}
> log4j2.appender.routing.routes.bundle.appender.fileName = 
> ${karaf.data}/log/sift-camel-\$\\\{ctx:camel.contextId\}.log
> log4j2.appender.routing.routes.bundle.appender.filePattern = 
> ${karaf.log}/bundle-\$\\\{ctx:bundle.name\}.log.%i
> log4j2.appender.routing.routes.bundle.appender.append = true
> log4j2.appender.routing.routes.bundle.appender.layout.type = PatternLayout
> log4j2.appender.routing.routes.bundle.appender.layout.pattern = 
> ${log4j2.pattern}
> log4j2.appender.routing.routes.bundle.appender.policies.type = Policies
> log4j2.appender.routing.routes.bundle.appender.policies.size.type = 
> SizeBasedTriggeringPolicy
> log4j2.appender.routing.routes.bundle.appender.policies.size.size = 8MB
> 
> Logging file is correctly created but i get exception in my Karaf
> 
> 
> karaf@root()> org.ops4j.pax.logging.pax-logging-log4j2 [log4j2] ERROR : 
> Cannot access RandomAccessFile java.io.IOException: La syntaxe du nom de 
> fichier, de répertoire ou de volume est incorrecte
> org.ops4j.pax.logging.pax-logging-log4j2 [log4j2] ERROR : Could not create 
> plugin of type class 
> org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender for 
> element RollingRandomAccessFile: java.lang.IllegalStateException: 
> ManagerFactory 
> [org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager$RollingRandomAccessFileManagerFactory@26d9daed]
>  unable to create manager for 
> [D:\karaf\apache-karaf-4.3.0\data/log/sift-camel-${ctx:camel.contextId}.log] 
> with data 
> [org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager$FactoryData@34bd66be]
> org.ops4j.pax.logging.pax-logging-log4j2 [log4j2] ERROR : Unable to invoke 
> factory method in class 
> org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender for 
> element RollingRandomAccessFile: java.lang.IllegalStateException: No factory 
> method found for class 
> org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender
> org.ops4j.pax.logging.pax-logging-log4j2 [log4j2] ERROR : Unable to create 
> Appender of type RollingRandomAccessFile
> org.ops4j.pax.logging.pax-logging-log4j2 [log4j2] ERROR : Cannot access 
> RandomAccessFile java.io.IOException: La syntaxe du nom de fichier, de 
> répertoire ou de volume est incorrecte
> org.ops4j.pax.logging.pax-logging-log4j2 [log4j2] ERROR : Could not create 
> plugin of type class 
> org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender for 
> element RollingRandomAccessFile: java.lang.IllegalStateException: 
> ManagerFactory 
> [org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager$RollingRandomAccessFileManagerFactory@26d9daed]
>  unable to create manager for 
> [D:\karaf\apache-karaf-4.3.0\data/log/sift-camel-${ctx:camel.contextId}.log] 
> with data 
> [org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager$FactoryData@19f28b4]
> org.ops4j.pax.logging.pax-logging-log4j2 [log4j2] ERROR : Unable to invoke 
> factory method in class 
> org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender for 
> element RollingRandomAccessFile: java.lang.IllegalStateException: No factory 
> method found for class 
> org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender
> org.ops4j.pax.logging.pax-logging-log4j2 [log4j2] ERROR : Unable to create 
> Appender of type RollingRandomAccessFile
> 
> There is updated documentation about how to configure ?
> 
> Michael.

Reply via email to