[ 
https://issues.apache.org/jira/browse/KARAF-5354?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16181017#comment-16181017
 ] 

Emily Berk edited comment on KARAF-5354 at 10/18/17 3:26 PM:
-------------------------------------------------------------

[~jbonofre], there appears to be an issue with configuring failover appenders 
in the {{org.ops4j.pax.logging.cfg}} file. Or, possibly, we haven't discovered 
the right syntax.

An attempt to configure a failover like this:
{code}
log4j2.appender.myFailoverAppender.type = Failover
log4j2.appender.myFailoverAppender.name = myFailoverAppender
log4j2.appender.myFailoverAppenderr.primary = myMainAppender
log4j2.appender.myFailoverAppender.failovers.type = Failovers
log4j2.appender.myFailoverAppender.failovers.appenderRef.myBackupAppender.ref = 
myBackupAppender
{code}
results in an {{ERROR appender Failover has no parameter that matches element 
Failovers}} error.

Furthermore, the xml syntax is a lot easier to read and modify.


was (Author: emily.berk):
[~jbonofre], there appears to be an issue with configuring failover appenders 
in the {{org.ops4j.pax.logging.cfg}} file. Or, possibly, we haven't discovered 
the right syntax.

An attempt to configure a failover like this:
{code}
log4j2.appender.myFailoverAppender.type = Failover
log4j2.appender.myFailoverAppender.name = myFailoverAppender
log4j2.appender.myFailoverAppenderr.primary = myMainAppender
log4j2.appender.myFailoverAppender.failovers.type = Failovers
log4j2.appender.myFailoverAppender.failovers.appenderRef.myBackupAppender.ref = 
myBackupAppender
{code}
results in an {{ERROR appender Failover has no parameter that matches element 
Failovers}} error.

Furthermore, the xml-syntax is a lot easier to read and modify.

> The log:get and log:set commands should support etc/log4j2.xml configuration
> ----------------------------------------------------------------------------
>
>                 Key: KARAF-5354
>                 URL: https://issues.apache.org/jira/browse/KARAF-5354
>             Project: Karaf
>          Issue Type: New Feature
>          Components: karaf-logging
>    Affects Versions: 4.1.2
>            Reporter: Emily Berk
>            Assignee: Guillaume Nodet
>            Priority: Minor
>             Fix For: 4.2.0
>
>
> Steps to reproduce:
> 1. Replace contents of {{etc/org.ops4j.pax.logging.cfg}} with 
> {code}
> org.ops4j.pax.logging.log4j2.config.file=${karaf.etc}/log4j2.xml
> {code}
> 2. Add an {{etc/log4j2.xml}} configuration file with a configuration like
> {code}
> <?xml version="1.0" encoding="UTF-8"?>
> <Configuration status="info">
>     <Appenders>
>         <PaxOsgi name="paxosgi" filter="VmLogAppender"/>
>     </Appenders>
>     <Loggers>
>         <Root level="info">
>             <AppenderRef ref="paxosgi"/>
>         </Root>
>     </Loggers>
> </Configuration>
> {code}
> 3. Start up Karaf.
> Notice that {{log:set}} and {{log:get}} fail with 
> {code}
> 2017-09-07 18:28:39,352 | ERROR | nsole user karaf | ShellUtil                
>         | 42 - org.apache.karaf.shell.core - 4.1.2 | Exception caught while 
> executing command
> java.lang.IllegalStateException: Unrecognized configuration
>       at 
> org.apache.karaf.log.core.internal.LogServiceImpl.getDelegate(LogServiceImpl.java:55)
>  [36:org.apache.karaf.log.core:4.1.2]
>       at 
> org.apache.karaf.log.core.internal.LogServiceImpl.setLevel(LogServiceImpl.java:98)
>  [36:org.apache.karaf.log.core:4.1.2]
>       at 
> org.apache.karaf.log.command.SetLogLevel.execute(SetLogLevel.java:48) 
> [36:org.apache.karaf.log.core:4.1.2]
>       at 
> org.apache.karaf.shell.impl.action.command.ActionCommand.execute(ActionCommand.java:84)
>  [42:org.apache.karaf.shell.core:4.1.2]
>       at 
> org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:68)
>  [42:org.apache.karaf.shell.core:4.1.2]
>       at 
> org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:86)
>  [42:org.apache.karaf.shell.core:4.1.2]
>       at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:571) 
> [42:org.apache.karaf.shell.core:4.1.2]
>       at 
> org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:497) 
> [42:org.apache.karaf.shell.core:4.1.2]
>       at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:386) 
> [42:org.apache.karaf.shell.core:4.1.2]
>       at org.apache.felix.gogo.runtime.Pipe.doCall(Pipe.java:417) 
> [42:org.apache.karaf.shell.core:4.1.2]
>       at org.apache.felix.gogo.runtime.Pipe.call(Pipe.java:229) 
> [42:org.apache.karaf.shell.core:4.1.2]
>       at org.apache.felix.gogo.runtime.Pipe.call(Pipe.java:59) 
> [42:org.apache.karaf.shell.core:4.1.2]
>       at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  [?:?]
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [?:?]
>       at java.lang.Thread.run(Thread.java:745) [?:?]
> {code}
> {{log:set}} and {{log:get}} should behave the same when using the 
> {{log4j2.xml}} configuration as when using the {{org.ops4j.pax.logging.cfg}} 
> configuration.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to