Hi JB,

Thanks but it not the point as i explained in my first message it's happen only 
when i try to use camel MDC property by the way sift file is correctly created 
but i get in my console a lot of exceptions.

My blueprint


<camelContext xmlns="http://camel.apache.org/schema/blueprint"; 
useMDCLogging="true" id="myContext">
    <routeBuilder ref="myRoute"/>
</camelContext>

Then in my logging conf:

log4j2.appender.routing.routes.bundle.appender.fileName = 
${karaf.data}/log/sift-\$\\\{ctx:camel.contextId\}.log

Another two things:


  1.  The default file also work but is not what i'm interresting here
  2.  Why i need to add all this escape thing it was not the case before

Regards,
Michael.

________________________________
De : Jean-Baptiste Onofre <[email protected]>
Envoyé : jeudi 24 décembre 2020 07:13
À : [email protected] <[email protected]>
Objet : Re: Configuring MDC logging karaf 4 camel 3.7.0

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]<mailto:[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