You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@karaf.apache.org by Jayamani <ja...@gmail.com> on 2019/03/27 12:54:22 UTC

Re: [K4.1] Pax Logging: Sift appender

Hi Guillaume,
 i tried routing appender in karaf 4.2.3 pax logging, it's not working
....are we need to provide routing appender reference to rootLogger..?



--
Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html

Re: [K4.1] Pax Logging: Sift appender

Posted by Jayamani <ja...@gmail.com>.
Thanks Jean-Baptiste, much appreciated.



--
Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html

Re: [K4.1] Pax Logging: Sift appender

Posted by Jayamani <ja...@gmail.com>.
Thank you Jean-Baptiste Onofré.



--
Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html

Re: [K4.1] Pax Logging: Sift appender

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi,

you can add the strategy:

log4j2.appender.routing.routes.bundle.appender.strategy.type=DefaultRolloverStrategy
log4j2.appender.routing.routes.bundle.appender.strategy.max=5

Regards
JB

On 28/11/2019 07:23, Jayamani wrote:
> Hi Jean-Baptiste Onofré,
> 
>  I am using below Sift - MDC routing log4j2 configuration to create and
> rollover all bundle log's., i like to delete rolled over files if file count
> is 10, eg: 10 file rolled over during 11th file rollover 1st rolled over
> file should be deleted., 
> 
> Is there any log4j2 configuration available.., i remember old version of
> karaf has MaxBackupFile count...
> 
> 08 # Sift - MDC routing
>  109 #log4j2.appender.routing.type = Routing
>  110 #log4j2.appender.routing.name = Routing
>  111 #log4j2.appender.routing.routes.type = Routes
>  112 #log4j2.appender.routing.routes.pattern = \$\$\\\{ctx:bundle.name\}
>  113 #log4j2.appender.routing.routes.bundle.type = Route
>  114 #log4j2.appender.routing.routes.bundle.appender.type =
> RollingRandomAccessFile
>  115 #log4j2.appender.routing.routes.bundle.appender.name =
> Bundle-\$\\\{ctx:bundle.name\}
>  116 #log4j2.appender.routing.routes.bundle.appender.fileName =
> ${karaf.log}/bundle-\$\\\{ctx:bundle.name\}.log
>  117 #log4j2.appender.routing.routes.bundle.appender.filePattern =
> ${karaf.log}/bundle-\$\\\{ctx:bundle.name\}.log.%i
>  118 #log4j2.appender.routing.routes.bundle.appender.append = true
>  119 #log4j2.appender.routing.routes.bundle.appender.layout.type =
> PatternLayout
>  120 #log4j2.appender.routing.routes.bundle.appender.layout.pattern =
> ${log4j2.pattern}
>  121 #log4j2.appender.routing.routes.bundle.appender.policies.type =
> Policies
>  122 #log4j2.appender.routing.routes.bundle.appender.policies.size.type =
> SizeBasedTriggeringPolicy
>  123 #log4j2.appender.routing.routes.bundle.appender.policies.size.size =
> 8MB
> 
> 
> Regards
> jayamani
> 
> 
> 
> --
> Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html
> 

-- 
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Re: [K4.1] Pax Logging: Sift appender

Posted by Jayamani <ja...@gmail.com>.
Hi Jean-Baptiste Onofré,

 I am using below Sift - MDC routing log4j2 configuration to create and
rollover all bundle log's., i like to delete rolled over files if file count
is 10, eg: 10 file rolled over during 11th file rollover 1st rolled over
file should be deleted., 

Is there any log4j2 configuration available.., i remember old version of
karaf has MaxBackupFile count...

08 # Sift - MDC routing
 109 #log4j2.appender.routing.type = Routing
 110 #log4j2.appender.routing.name = Routing
 111 #log4j2.appender.routing.routes.type = Routes
 112 #log4j2.appender.routing.routes.pattern = \$\$\\\{ctx:bundle.name\}
 113 #log4j2.appender.routing.routes.bundle.type = Route
 114 #log4j2.appender.routing.routes.bundle.appender.type =
RollingRandomAccessFile
 115 #log4j2.appender.routing.routes.bundle.appender.name =
Bundle-\$\\\{ctx:bundle.name\}
 116 #log4j2.appender.routing.routes.bundle.appender.fileName =
${karaf.log}/bundle-\$\\\{ctx:bundle.name\}.log
 117 #log4j2.appender.routing.routes.bundle.appender.filePattern =
${karaf.log}/bundle-\$\\\{ctx:bundle.name\}.log.%i
 118 #log4j2.appender.routing.routes.bundle.appender.append = true
 119 #log4j2.appender.routing.routes.bundle.appender.layout.type =
PatternLayout
 120 #log4j2.appender.routing.routes.bundle.appender.layout.pattern =
${log4j2.pattern}
 121 #log4j2.appender.routing.routes.bundle.appender.policies.type =
Policies
 122 #log4j2.appender.routing.routes.bundle.appender.policies.size.type =
SizeBasedTriggeringPolicy
 123 #log4j2.appender.routing.routes.bundle.appender.policies.size.size =
8MB


Regards
jayamani



--
Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html

Re: [K4.1] Pax Logging: Sift appender

Posted by Jayamani <ja...@gmail.com>.
Thanks Jean-Baptiste,
  https://issues.apache.org/jira/browse/KARAF-6219 
Routing appender works fine.

Just in case others needed:

log4j2.rootLogger.appenderRef.Sift.ref = Routing

# Sift - MDC routing
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\}-%d{yyyy-MM-dd}-%i.log.gz
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



--
Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html

Re: [K4.1] Pax Logging: Sift appender

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
For the tracking, I created:

https://issues.apache.org/jira/browse/KARAF-6219

I will tackle that this afternoon.

Regards
JB

On 28/03/2019 11:56, Jean-Baptiste Onofré wrote:
> It's just an example that I have ready. I can do a generic MDC/Sift one.
> 
> By the way, I'm proposing to add the MDC configuration commented in
> Karaf provided etc/org.ops4j.pax.logging.cfg.
> 
> Regards
> JB
> 
> On 28/03/2019 11:01, Jayamani wrote:
>> Hi Jean-Baptiste,
>>  i am facing below error,
>> CM Configuration Updater (ManagedService Update:
>> pid=[org.ops4j.pax.logging]) ERROR Unable to locate appender "camel" for
>> logger config "root"
>>
>> is there any features need to be installed in karaf.?
>>
>> I am new to karaf ,guide me.
>>
>> Thanks in advance.
>>
>>
>>
>> --
>> Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html
>>
> 

-- 
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Re: [K4.1] Pax Logging: Sift appender

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
It's just an example that I have ready. I can do a generic MDC/Sift one.

By the way, I'm proposing to add the MDC configuration commented in
Karaf provided etc/org.ops4j.pax.logging.cfg.

Regards
JB

On 28/03/2019 11:01, Jayamani wrote:
> Hi Jean-Baptiste,
>  i am facing below error,
> CM Configuration Updater (ManagedService Update:
> pid=[org.ops4j.pax.logging]) ERROR Unable to locate appender "camel" for
> logger config "root"
> 
> is there any features need to be installed in karaf.?
> 
> I am new to karaf ,guide me.
> 
> Thanks in advance.
> 
> 
> 
> --
> Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html
> 

-- 
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Re: [K4.1] Pax Logging: Sift appender

Posted by Jayamani <ja...@gmail.com>.
Hi Jean-Baptiste,
 i am facing below error,
CM Configuration Updater (ManagedService Update:
pid=[org.ops4j.pax.logging]) ERROR Unable to locate appender "camel" for
logger config "root"

is there any features need to be installed in karaf.?

I am new to karaf ,guide me.

Thanks in advance.



--
Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html

Re: [K4.1] Pax Logging: Sift appender

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi,

Here's an example of MDC with Camel:

log4j2.rootLogger.appenderRef.camel.ref = camel

log4j2.appender.camel.type = Routing
log4j2.appender.camel.name = Camel
log4j2.appender.camel.routes.type = Routes
log4j2.appender.camel.routes.pattern = $$\\{ctx:context.routeId\\}
log4j2.appender.camel.routes.context.type = Route
log4j2.appender.camel.routes.context.rolling.type = RollingFile
log4j2.appender.camel.routes.context.rolling.name =
camel-$\\{ctx:context.routeId\\}
log4j2.appender.camel.routes.context.rolling.layout.type = PatternLayout
log4j2.appender.camel.routes.context.rolling.layout.pattern =
${log4j2.patternCamel}
log4j2.appender.camel.routes.context.rolling.fileName =
${karaf.data}/log/camel-$\\{ctx:context.routeId\\}.log
log4j2.appender.camel.routes.context.rolling.filePattern=
${karaf.data}/log/camel-$\\{ctx:context.routeId\\}.log.%i
log4j2.appender.camel.routes.context.rolling.policies.type = Policies
log4j2.appender.camel.routes.context.rolling.policies.size.type =
SizeBasedTriggeringPolicy
log4j2.appender.camel.routes.context.rolling.policies.size.size = 20MB

Regards
KB

On 27/03/2019 15:18, Jayamani wrote:
> Thanks Grzegorz, i will try with mdc.
> 
> i am not getting the whole picture of this shift appender and mdc in
> log4j2...if anyone know how to config pax logging in karaf 4.2.3 to create
> separate log file for each bundle, please share complete
> org.ops4j.pax.logging.cfg file.
> 
> Thanks in advance.
> 
> 
> 
> --
> Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html
> 

-- 
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Re: [K4.1] Pax Logging: Sift appender

Posted by Grzegorz Grzybek <gr...@gmail.com>.
Hello

"additivity" is not appender flag - it's flag for logger. You should just
do:

# routing _appender_
log4j2.appender.mdc.type = Routing
log4j2.appender.mdc.name = SiftAppender
log4j2.appender.mdc.routes.type = Routes
log4j2.appender.mdc.routes.pattern = $\\{ctx:bundle.name}
log4j2.appender.mdc.routes.sift.type = Route
...

# _logger_ with routing _appender_ attached
log4j2.logger.camel.name = org.apache.camel
log4j2.logger.camel.level = DEBUG
log4j2.logger.camel.additivity = false
log4j2.logger.camel.appenderRef.SiftAppender.ref = SiftAppender

regards
Grzegorz Grzybek

wt., 23 kwi 2019 o 13:06 Jayamani <ja...@gmail.com> napisał(a):

> Hi jbonofre,
>  Routing appender works fine....but i am seeing same log content in both
> karaf.log and bundle log file...i just need log contents in bundle log
> alone..
>
> i read some doc about the "additivity"= false - which put log content only
> in bundle log file, how to configure the "additivity" in routing
> appender...
>
>
>
> --
> Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html
>

Re: [K4.1] Pax Logging: Sift appender

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Do you have additivity=false at logger level ?

Regards
JB

On 23/04/2019 12:15, Jayamani wrote:
> Hi jbonofre,
>  Routing appender works fine....but i am seeing same log content in both
> karaf.log and bundle log file...i just need log contents in bundle log
> alone..
> 
> i read some doc about the "additivity"= false - which put log content only
> in bundle log file, how to configure the "additivity" in routing appender...
> 
> 
> 
> --
> Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html
> 

-- 
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Re: [K4.1] Pax Logging: Sift appender

Posted by Jayamani <ja...@gmail.com>.
Hi jbonofre,
 Routing appender works fine....but i am seeing same log content in both
karaf.log and bundle log file...i just need log contents in bundle log
alone..

i read some doc about the "additivity"= false - which put log content only
in bundle log file, how to configure the "additivity" in routing appender...



--
Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html

Re: [K4.1] Pax Logging: Sift appender

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi,

FYI, I just tested the following without problem:

I added a Routing appender ref on the rootLogger:

log4j2.rootLogger.appenderRef.Sift.ref = Routing

The Routing logger uses MDC to have a file per bundle (using bundle name):

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

In data/log, I can see one file per bundle (with the name).

So it works fine.

I'm adding those sections commented in the provided 
etc/org.ops4j.pax.logging.cfg.

Regards
JB

On 28/03/2019 13:53, Jayamani wrote:
> Hi Grzegorz,
> I will try with JDK8, thanks.
> 
> 
> 
> --
> Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html
> 

Re: [K4.1] Pax Logging: Sift appender

Posted by Jayamani <ja...@gmail.com>.
Hi Grzegorz,
I will try with JDK8, thanks.



--
Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html

Re: [K4.1] Pax Logging: Sift appender

Posted by Grzegorz Grzybek <gr...@gmail.com>.
Hello

Hmm, maybe JDK11 is an issue? Does it work with JDK8?

ALSO it could be because appenders may have to be declared before they
added to loggers? :) Just a blind guess.

regards
Grzegorz Grzybek


czw., 28 mar 2019 o 11:38 Jayamani <ja...@gmail.com> napisał(a):

> Hi Grzegorz,
>  As suggested i have added appender and logger template in pax logging
> config file, below is the complete config file:
>
> ################################################################################
> #
> #    Licensed to the Apache Software Foundation (ASF) under one or more
> #    contributor license agreements.  See the NOTICE file distributed with
> #    this work for additional information regarding copyright ownership.
> #    The ASF licenses this file to You under the Apache License, Version
> 2.0
> #    (the "License"); you may not use this file except in compliance with
> #    the License.  You may obtain a copy of the License at
> #
> #       http://www.apache.org/licenses/LICENSE-2.0
> #
> #    Unless required by applicable law or agreed to in writing, software
> #    distributed under the License is distributed on an "AS IS" BASIS,
> #    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> #    See the License for the specific language governing permissions and
> #    limitations under the License.
> #
>
> ################################################################################
>
> # Colors for log level rendering
> color.fatal = bright red
> color.error = bright red
> color.warn = bright yellow
> color.info = bright green
> color.debug = cyan
> color.trace = cyan
>
> # Common pattern layout for appenders
> log4j2.pattern = %d{ISO8601} | %-5p | %-16t | %-32c{1} | %X{bundle.id} -
> %X{bundle.name} - %X{bundle.version} | %m%n
> log4j2.out.pattern = \u001b[90m%d{HH:mm:ss\.SSS}\u001b[0m
> %highlight{%-5level}{FATAL=${color.fatal}, ERROR=${color.error},
> WARN=${color.warn}, INFO=${color.info}, DEBUG=${color.debug},
> TRACE=${color.trace}} \u001b[90m[%t]\u001b[0m %msg%n%throwable
>
>
> # Root logger
> log4j2.rootLogger.level = INFO, demo
> # uncomment to use asynchronous loggers, which require
> mvn:com.lmax/disruptor/3.3.2 library
> #log4j2.rootLogger.type = asyncRoot
> #log4j2.rootLogger.includeLocation = false
> log4j2.rootLogger.appenderRef.RollingFile.ref = RollingFile
> log4j2.rootLogger.appenderRef.PaxOsgi.ref = PaxOsgi
> log4j2.rootLogger.appenderRef.Console.ref = Console
> log4j2.rootLogger.appenderRef.Console.filter.threshold.type =
> ThresholdFilter
> log4j2.rootLogger.appenderRef.Console.filter.threshold.level =
> ${karaf.log.console:-OFF}
>
> # Loggers configuration
>
> # SSHD logger
> log4j2.logger.sshd.name = org.apache.sshd
> log4j2.logger.sshd.level = INFO
>
> # Spifly logger
> log4j2.logger.spifly.name = org.apache.aries.spifly
> log4j2.logger.spifly.level = WARN
>
> # Security audit logger
> log4j2.logger.audit.name = audit
> log4j2.logger.audit.level = TRACE
> log4j2.logger.audit.additivity = false
> log4j2.logger.audit.appenderRef.AuditRollingFile.ref = AuditRollingFile
>
>
> log4j2.logger.demo.name = org.apache.camel
> log4j2.logger.demo.level = DEBUG
> log4j2.logger.demo.appenderRef.SiftAppender.ref = SiftAppender
>
> # Appenders configuration
>
> # Console appender not used by default (see log4j2.rootLogger.appenderRefs)
> log4j2.appender.console.type = Console
> log4j2.appender.console.name = Console
> log4j2.appender.console.layout.type = PatternLayout
> log4j2.appender.console.layout.pattern = ${log4j2.out.pattern}
>
> # Rolling file appender
> log4j2.appender.rolling.type = RollingRandomAccessFile
> log4j2.appender.rolling.name = RollingFile
> log4j2.appender.rolling.fileName = ${karaf.log}/karaf.log
> log4j2.appender.rolling.filePattern = ${karaf.log}/karaf.log.%i
> # uncomment to not force a disk flush
> #log4j2.appender.rolling.immediateFlush = false
> log4j2.appender.rolling.append = true
> log4j2.appender.rolling.layout.type = PatternLayout
> log4j2.appender.rolling.layout.pattern = ${log4j2.out.pattern}
> log4j2.appender.rolling.policies.type = Policies
> log4j2.appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
> log4j2.appender.rolling.policies.size.size = 16MB
>
> # Audit file appender
> log4j2.appender.audit.type = RollingRandomAccessFile
> log4j2.appender.audit.name = AuditRollingFile
> log4j2.appender.audit.fileName = ${karaf.log}/security.log
> log4j2.appender.audit.filePattern = ${karaf.log}/security-%i.log
> log4j2.appender.audit.append = true
> log4j2.appender.audit.layout.type = PatternLayout
> log4j2.appender.audit.layout.pattern = %m%n
> log4j2.appender.audit.policies.type = Policies
> log4j2.appender.audit.policies.size.type = SizeBasedTriggeringPolicy
> log4j2.appender.audit.policies.size.size = 8MB
>
> # OSGi appender
> log4j2.appender.osgi.type = PaxOsgi
> log4j2.appender.osgi.name = PaxOsgi
> log4j2.appender.osgi.filter = *
>
> # help with identification of maven-related problems with pax-url-aether
> #log4j2.logger.aether.name = shaded.org.eclipse.aether
> #log4j2.logger.aether.level = TRACE
> #log4j2.logger.http-headers.name = shaded.org.apache.http.headers
> #log4j2.logger.http-headers.level = DEBUG
> #log4j2.logger.maven.name = org.ops4j.pax.url.mvn
> #log4j2.logger.maven.level = TRACE
>
> # Sift appender
> log4j2.appender.mdc.type = Routing
> log4j2.appender.mdc.name = SiftAppender
> log4j2.appender.mdc.routes.type = Routes
> # see: http://logging.apache.org/log4j/2.x/manual/appenders.html#Routes
> log4j2.appender.mdc.routes.pattern = $\\{ctx:bundle.name}
> log4j2.appender.mdc.routes.sift.type = Route
> log4j2.appender.mdc.routes.sift.appender.type = RollingRandomAccessFile
> log4j2.appender.mdc.routes.sift.appender.name = RollingFile
> log4j2.appender.mdc.routes.sift.appender.fileName =
> ${karaf.data}/log/sift-$\\{ctx:bundle.name}.log
> log4j2.appender.mdc.routes.sift.appender.filePattern =
> ${karaf.data}/log/sift-$\\{ctx:bundle.name}-%i.log.gz
> log4j2.appender.mdc.routes.sift.appender.append = true
> log4j2.appender.mdc.routes.sift.appender.layout.type = PatternLayout
> log4j2.appender.mdc.routes.sift.appender.layout.pattern =
> ${log4j2.pattern}
> log4j2.appender.mdc.routes.sift.appender.policies.type = Policies
> log4j2.appender.mdc.routes.sift.appender.policies.size.type =
> SizeBasedTriggeringPolicy
> log4j2.appender.mdc.routes.sift.appender.policies.size.size = 16MB
> log4j2.appender.mdc.routes.sift.appender.strategy.type =
> DefaultRolloverStrategy
> log4j2.appender.mdc.routes.sift.appender.strategy.max = 20
>
>
> i am getting below exception,
>
> 2019-03-28 15:16:57,666 CM Configuration Updater (ManagedService Update:
> pid=[org.ops4j.pax.logging]) ERROR Unable to locate plugin type for
> Routing
> 2019-03-28 15:16:57,719 CM Configuration Updater (ManagedService Update:
> pid=[org.ops4j.pax.logging]) ERROR Unable to locate plugin for
> SizeBasedTriggeringPolicy
> 2019-03-28 15:16:57,719 CM Configuration Updater (ManagedService Update:
> pid=[org.ops4j.pax.logging]) ERROR Unable to locate plugin for Policies
> 2019-03-28 15:16:57,720 CM Configuration Updater (ManagedService Update:
> pid=[org.ops4j.pax.logging]) ERROR Unable to locate plugin for
> DefaultRolloverStrategy
> 2019-03-28 15:16:57,720 CM Configuration Updater (ManagedService Update:
> pid=[org.ops4j.pax.logging]) ERROR Unable to locate plugin for
> PatternLayout
> 2019-03-28 15:16:57,720 CM Configuration Updater (ManagedService Update:
> pid=[org.ops4j.pax.logging]) ERROR Unable to locate plugin for
> RollingRandomAccessFile
> 2019-03-28 15:16:57,720 CM Configuration Updater (ManagedService Update:
> pid=[org.ops4j.pax.logging]) ERROR Unable to locate plugin for Route
> 2019-03-28 15:16:57,720 CM Configuration Updater (ManagedService Update:
> pid=[org.ops4j.pax.logging]) ERROR Unable to locate plugin for Routes
> 2019-03-28 15:16:57,721 CM Configuration Updater (ManagedService Update:
> pid=[org.ops4j.pax.logging]) ERROR Unable to locate plugin for Routing
> 2019-03-28 15:16:57,721 CM Configuration Updater (ManagedService Update:
> pid=[org.ops4j.pax.logging]) ERROR Unable to invoke factory method in class
> class org.apache.logging.log4j.core.config.AppendersPlugin for element
> Appenders. java.lang.NullPointerException
>         at
>
> org.apache.logging.log4j.core.config.plugins.visitors.PluginElementVisitor.visit(PluginElementVisitor.java:52)
>         at
>
> org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.generateParameters(PluginBuilder.java:248)
>         at
>
> org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:131)
>         at
>
> org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:952)
>         at
>
> org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:892)
>         at
>
> org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:508)
>         at
>
> org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:232)
>         at
>
> org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:244)
>         at
>
> org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:545)
>         at
> org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:261)
>         at
>
> org.ops4j.pax.logging.log4j2.internal.PaxLoggingServiceImpl.doUpdate(PaxLoggingServiceImpl.java:213)
>         at
>
> org.ops4j.pax.logging.log4j2.internal.PaxLoggingServiceImpl.updated(PaxLoggingServiceImpl.java:158)
>         at
>
> org.ops4j.pax.logging.log4j2.internal.PaxLoggingServiceImpl$1ManagedPaxLoggingService.updated(PaxLoggingServiceImpl.java:426)
>         at
>
> org.apache.felix.cm.impl.helper.ManagedServiceTracker.updated(ManagedServiceTracker.java:189)
>         at
>
> org.apache.felix.cm.impl.helper.ManagedServiceTracker.updateService(ManagedServiceTracker.java:152)
>         at
>
> org.apache.felix.cm.impl.helper.ManagedServiceTracker.provideConfiguration(ManagedServiceTracker.java:85)
>         at
>
> org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.provide(ConfigurationManager.java:1113)
>         at
>
> org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.run(ConfigurationManager.java:1069)
>         at
> org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:138)
>         at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:105)
>         at java.lang.Thread.run(Thread.java:748)
>
> 2019-03-28 15:16:57,722 CM Configuration Updater (ManagedService Update:
> pid=[org.ops4j.pax.logging]) ERROR Unable to locate appender "PaxOsgi" for
> logger config "root"
> 2019-03-28 15:16:57,723 CM Configuration Updater (ManagedService Update:
> pid=[org.ops4j.pax.logging]) ERROR Unable to locate appender "RollingFile"
> for logger config "root"
> 2019-03-28 15:16:57,723 CM Configuration Updater (ManagedService Update:
> pid=[org.ops4j.pax.logging]) ERROR Unable to locate appender "Console" for
> logger config "root"
> 2019-03-28 15:16:57,723 CM Configuration Updater (ManagedService Update:
> pid=[org.ops4j.pax.logging]) ERROR Unable to locate appender "SiftAppender"
> for logger config "org.apache.camel"
> 2019-03-28 15:16:57,723 CM Configuration Updater (ManagedService Update:
> pid=[org.ops4j.pax.logging]) ERROR Unable to locate appender
> "AuditRollingFile" for logger config "audit"
>
>
> I am using karaf-4.2.3 with openjdk 11.,is there anyting i am
> missing?please
> guide me.
>
> Thanks in advance.
>
>
>
> --
> Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html
>

Re: [K4.1] Pax Logging: Sift appender

Posted by Jayamani <ja...@gmail.com>.
Hi Grzegorz,
 As suggested i have added appender and logger template in pax logging
config file, below is the complete config file:
################################################################################
#
#    Licensed to the Apache Software Foundation (ASF) under one or more
#    contributor license agreements.  See the NOTICE file distributed with
#    this work for additional information regarding copyright ownership.
#    The ASF licenses this file to You under the Apache License, Version 2.0
#    (the "License"); you may not use this file except in compliance with
#    the License.  You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#    Unless required by applicable law or agreed to in writing, software
#    distributed under the License is distributed on an "AS IS" BASIS,
#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied.
#    See the License for the specific language governing permissions and
#    limitations under the License.
#
################################################################################

# Colors for log level rendering
color.fatal = bright red
color.error = bright red
color.warn = bright yellow
color.info = bright green
color.debug = cyan
color.trace = cyan

# Common pattern layout for appenders
log4j2.pattern = %d{ISO8601} | %-5p | %-16t | %-32c{1} | %X{bundle.id} -
%X{bundle.name} - %X{bundle.version} | %m%n
log4j2.out.pattern = \u001b[90m%d{HH:mm:ss\.SSS}\u001b[0m
%highlight{%-5level}{FATAL=${color.fatal}, ERROR=${color.error},
WARN=${color.warn}, INFO=${color.info}, DEBUG=${color.debug},
TRACE=${color.trace}} \u001b[90m[%t]\u001b[0m %msg%n%throwable


# Root logger
log4j2.rootLogger.level = INFO, demo
# uncomment to use asynchronous loggers, which require
mvn:com.lmax/disruptor/3.3.2 library
#log4j2.rootLogger.type = asyncRoot
#log4j2.rootLogger.includeLocation = false
log4j2.rootLogger.appenderRef.RollingFile.ref = RollingFile
log4j2.rootLogger.appenderRef.PaxOsgi.ref = PaxOsgi
log4j2.rootLogger.appenderRef.Console.ref = Console
log4j2.rootLogger.appenderRef.Console.filter.threshold.type =
ThresholdFilter
log4j2.rootLogger.appenderRef.Console.filter.threshold.level =
${karaf.log.console:-OFF}

# Loggers configuration

# SSHD logger
log4j2.logger.sshd.name = org.apache.sshd
log4j2.logger.sshd.level = INFO

# Spifly logger
log4j2.logger.spifly.name = org.apache.aries.spifly
log4j2.logger.spifly.level = WARN

# Security audit logger
log4j2.logger.audit.name = audit
log4j2.logger.audit.level = TRACE
log4j2.logger.audit.additivity = false
log4j2.logger.audit.appenderRef.AuditRollingFile.ref = AuditRollingFile


log4j2.logger.demo.name = org.apache.camel
log4j2.logger.demo.level = DEBUG
log4j2.logger.demo.appenderRef.SiftAppender.ref = SiftAppender

# Appenders configuration

# Console appender not used by default (see log4j2.rootLogger.appenderRefs)
log4j2.appender.console.type = Console
log4j2.appender.console.name = Console
log4j2.appender.console.layout.type = PatternLayout
log4j2.appender.console.layout.pattern = ${log4j2.out.pattern}

# Rolling file appender
log4j2.appender.rolling.type = RollingRandomAccessFile
log4j2.appender.rolling.name = RollingFile
log4j2.appender.rolling.fileName = ${karaf.log}/karaf.log
log4j2.appender.rolling.filePattern = ${karaf.log}/karaf.log.%i
# uncomment to not force a disk flush
#log4j2.appender.rolling.immediateFlush = false
log4j2.appender.rolling.append = true
log4j2.appender.rolling.layout.type = PatternLayout
log4j2.appender.rolling.layout.pattern = ${log4j2.out.pattern}
log4j2.appender.rolling.policies.type = Policies
log4j2.appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
log4j2.appender.rolling.policies.size.size = 16MB

# Audit file appender
log4j2.appender.audit.type = RollingRandomAccessFile
log4j2.appender.audit.name = AuditRollingFile
log4j2.appender.audit.fileName = ${karaf.log}/security.log
log4j2.appender.audit.filePattern = ${karaf.log}/security-%i.log
log4j2.appender.audit.append = true
log4j2.appender.audit.layout.type = PatternLayout
log4j2.appender.audit.layout.pattern = %m%n
log4j2.appender.audit.policies.type = Policies
log4j2.appender.audit.policies.size.type = SizeBasedTriggeringPolicy
log4j2.appender.audit.policies.size.size = 8MB

# OSGi appender
log4j2.appender.osgi.type = PaxOsgi
log4j2.appender.osgi.name = PaxOsgi
log4j2.appender.osgi.filter = *

# help with identification of maven-related problems with pax-url-aether
#log4j2.logger.aether.name = shaded.org.eclipse.aether
#log4j2.logger.aether.level = TRACE
#log4j2.logger.http-headers.name = shaded.org.apache.http.headers
#log4j2.logger.http-headers.level = DEBUG
#log4j2.logger.maven.name = org.ops4j.pax.url.mvn
#log4j2.logger.maven.level = TRACE

# Sift appender 
log4j2.appender.mdc.type = Routing 
log4j2.appender.mdc.name = SiftAppender 
log4j2.appender.mdc.routes.type = Routes 
# see: http://logging.apache.org/log4j/2.x/manual/appenders.html#Routes
log4j2.appender.mdc.routes.pattern = $\\{ctx:bundle.name} 
log4j2.appender.mdc.routes.sift.type = Route 
log4j2.appender.mdc.routes.sift.appender.type = RollingRandomAccessFile 
log4j2.appender.mdc.routes.sift.appender.name = RollingFile
log4j2.appender.mdc.routes.sift.appender.fileName =
${karaf.data}/log/sift-$\\{ctx:bundle.name}.log 
log4j2.appender.mdc.routes.sift.appender.filePattern =
${karaf.data}/log/sift-$\\{ctx:bundle.name}-%i.log.gz 
log4j2.appender.mdc.routes.sift.appender.append = true 
log4j2.appender.mdc.routes.sift.appender.layout.type = PatternLayout 
log4j2.appender.mdc.routes.sift.appender.layout.pattern = ${log4j2.pattern} 
log4j2.appender.mdc.routes.sift.appender.policies.type = Policies 
log4j2.appender.mdc.routes.sift.appender.policies.size.type =
SizeBasedTriggeringPolicy 
log4j2.appender.mdc.routes.sift.appender.policies.size.size = 16MB 
log4j2.appender.mdc.routes.sift.appender.strategy.type =
DefaultRolloverStrategy 
log4j2.appender.mdc.routes.sift.appender.strategy.max = 20 


i am getting below exception,

2019-03-28 15:16:57,666 CM Configuration Updater (ManagedService Update:
pid=[org.ops4j.pax.logging]) ERROR Unable to locate plugin type for Routing 
2019-03-28 15:16:57,719 CM Configuration Updater (ManagedService Update:
pid=[org.ops4j.pax.logging]) ERROR Unable to locate plugin for
SizeBasedTriggeringPolicy 
2019-03-28 15:16:57,719 CM Configuration Updater (ManagedService Update:
pid=[org.ops4j.pax.logging]) ERROR Unable to locate plugin for Policies 
2019-03-28 15:16:57,720 CM Configuration Updater (ManagedService Update:
pid=[org.ops4j.pax.logging]) ERROR Unable to locate plugin for
DefaultRolloverStrategy 
2019-03-28 15:16:57,720 CM Configuration Updater (ManagedService Update:
pid=[org.ops4j.pax.logging]) ERROR Unable to locate plugin for PatternLayout 
2019-03-28 15:16:57,720 CM Configuration Updater (ManagedService Update:
pid=[org.ops4j.pax.logging]) ERROR Unable to locate plugin for
RollingRandomAccessFile 
2019-03-28 15:16:57,720 CM Configuration Updater (ManagedService Update:
pid=[org.ops4j.pax.logging]) ERROR Unable to locate plugin for Route 
2019-03-28 15:16:57,720 CM Configuration Updater (ManagedService Update:
pid=[org.ops4j.pax.logging]) ERROR Unable to locate plugin for Routes 
2019-03-28 15:16:57,721 CM Configuration Updater (ManagedService Update:
pid=[org.ops4j.pax.logging]) ERROR Unable to locate plugin for Routing 
2019-03-28 15:16:57,721 CM Configuration Updater (ManagedService Update:
pid=[org.ops4j.pax.logging]) ERROR Unable to invoke factory method in class
class org.apache.logging.log4j.core.config.AppendersPlugin for element
Appenders. java.lang.NullPointerException
	at
org.apache.logging.log4j.core.config.plugins.visitors.PluginElementVisitor.visit(PluginElementVisitor.java:52)
	at
org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.generateParameters(PluginBuilder.java:248)
	at
org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:131)
	at
org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:952)
	at
org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:892)
	at
org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:508)
	at
org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:232)
	at
org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:244)
	at
org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:545)
	at
org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:261)
	at
org.ops4j.pax.logging.log4j2.internal.PaxLoggingServiceImpl.doUpdate(PaxLoggingServiceImpl.java:213)
	at
org.ops4j.pax.logging.log4j2.internal.PaxLoggingServiceImpl.updated(PaxLoggingServiceImpl.java:158)
	at
org.ops4j.pax.logging.log4j2.internal.PaxLoggingServiceImpl$1ManagedPaxLoggingService.updated(PaxLoggingServiceImpl.java:426)
	at
org.apache.felix.cm.impl.helper.ManagedServiceTracker.updated(ManagedServiceTracker.java:189)
	at
org.apache.felix.cm.impl.helper.ManagedServiceTracker.updateService(ManagedServiceTracker.java:152)
	at
org.apache.felix.cm.impl.helper.ManagedServiceTracker.provideConfiguration(ManagedServiceTracker.java:85)
	at
org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.provide(ConfigurationManager.java:1113)
	at
org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.run(ConfigurationManager.java:1069)
	at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:138)
	at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:105)
	at java.lang.Thread.run(Thread.java:748)

2019-03-28 15:16:57,722 CM Configuration Updater (ManagedService Update:
pid=[org.ops4j.pax.logging]) ERROR Unable to locate appender "PaxOsgi" for
logger config "root"
2019-03-28 15:16:57,723 CM Configuration Updater (ManagedService Update:
pid=[org.ops4j.pax.logging]) ERROR Unable to locate appender "RollingFile"
for logger config "root"
2019-03-28 15:16:57,723 CM Configuration Updater (ManagedService Update:
pid=[org.ops4j.pax.logging]) ERROR Unable to locate appender "Console" for
logger config "root"
2019-03-28 15:16:57,723 CM Configuration Updater (ManagedService Update:
pid=[org.ops4j.pax.logging]) ERROR Unable to locate appender "SiftAppender"
for logger config "org.apache.camel"
2019-03-28 15:16:57,723 CM Configuration Updater (ManagedService Update:
pid=[org.ops4j.pax.logging]) ERROR Unable to locate appender
"AuditRollingFile" for logger config "audit"


I am using karaf-4.2.3 with openjdk 11.,is there anyting i am missing?please
guide me.

Thanks in advance.



--
Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html

Re: [K4.1] Pax Logging: Sift appender

Posted by Grzegorz Grzybek <gr...@gmail.com>.
Hello

I have this appender:

# Sift appender
log4j2.appender.mdc.type = Routing
log4j2.appender.mdc.name = SiftAppender
log4j2.appender.mdc.routes.type = Routes
# see: http://logging.apache.org/log4j/2.x/manual/appenders.html#Routes
log4j2.appender.mdc.routes.pattern = $\\{ctx:bundle.name}
log4j2.appender.mdc.routes.sift.type = Route
log4j2.appender.mdc.routes.sift.appender.type = RollingRandomAccessFile
log4j2.appender.mdc.routes.sift.appender.name = RollingFile
log4j2.appender.mdc.routes.sift.appender.fileName =
${karaf.data}/log/sift-$\\{ctx:bundle.name}.log
log4j2.appender.mdc.routes.sift.appender.filePattern =
${karaf.data}/log/sift-$\\{ctx:bundle.name}-%i.log.gz
log4j2.appender.mdc.routes.sift.appender.append = true
log4j2.appender.mdc.routes.sift.appender.layout.type = PatternLayout
log4j2.appender.mdc.routes.sift.appender.layout.pattern = ${log4j2.pattern}
log4j2.appender.mdc.routes.sift.appender.policies.type = Policies
log4j2.appender.mdc.routes.sift.appender.policies.size.type =
SizeBasedTriggeringPolicy
log4j2.appender.mdc.routes.sift.appender.policies.size.size = 16MB
log4j2.appender.mdc.routes.sift.appender.strategy.type =
DefaultRolloverStrategy
log4j2.appender.mdc.routes.sift.appender.strategy.max = 20

which splits by bundle name. And template assigment from logger to appender:


# sample logger using Sift appender
#log4j2.logger.example.name = org.apache.camel
#log4j2.logger.example.level = INFO
#log4j2.logger.example.appenderRef.SiftAppender.ref = SiftAppender

There's https://ops4j1.jira.com/browse/PAXLOGGING-243 issue which I'm going
to fix as soon as I get out of my current tasks. This issue is that if you
use the same logger/category, in different bundles, some internal caches in
pax-logging-log4j2 will incorrectly assume single bundle...

regards
Grzegorz Grzybek

śr., 27 mar 2019 o 15:26 Jayamani <ja...@gmail.com> napisał(a):

> Thanks Grzegorz, i will try with mdc.
>
> i am not getting the whole picture of this shift appender and mdc in
> log4j2...if anyone know how to config pax logging in karaf 4.2.3 to create
> separate log file for each bundle, please share complete
> org.ops4j.pax.logging.cfg file.
>
> Thanks in advance.
>
>
>
> --
> Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html
>

Re: [K4.1] Pax Logging: Sift appender

Posted by Jayamani <ja...@gmail.com>.
Thanks Grzegorz, i will try with mdc.

i am not getting the whole picture of this shift appender and mdc in
log4j2...if anyone know how to config pax logging in karaf 4.2.3 to create
separate log file for each bundle, please share complete
org.ops4j.pax.logging.cfg file.

Thanks in advance.



--
Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html

Re: [K4.1] Pax Logging: Sift appender

Posted by Grzegorz Grzybek <gr...@gmail.com>.
Jayamani, you have to add this sift appender to SOME logger, like (for
org.apache.camel logger/category)

# Sift appender
log4j2.appender.mdc.type = Routing
log4j2.appender.mdc.name = SiftAppender
log4j2.appender.mdc.routes.type = Routes
...

# sample logger using Sift appender
log4j2.logger.example.name = org.apache.camel
log4j2.logger.example.level = INFO
log4j2.logger.example.appenderRef.SiftAppender.ref = SiftAppender

regards
Grzegorz Grzybek

śr., 27 mar 2019 o 14:29 Jayamani <ja...@gmail.com> napisał(a):

> Hi Guillaume,
>  i tried routing appender in karaf 4.2.3 pax logging, it's not working
> ....are we need to provide routing appender reference to rootLogger..?
>
>
>
> --
> Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html
>