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.
