Description
Steps to reproduce:
1. Replace contents of etc/org.ops4j.pax.logging.cfg with
org.ops4j.pax.logging.log4j2.config.file=${karaf.etc}/log4j2.xml
2. Add an etc/log4j2.xml configuration file with a configuration like
<?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>
3. Start up Karaf.
Notice that log:set and log:get fail with
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) [?:?]
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.
Attachments
Issue Links
- is related to
-
LOG4J2-1163 ERROR appender Failover has no parameter that matches element Failovers
- Open