[ https://issues.apache.org/jira/browse/LOG4J2-3139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17605604#comment-17605604 ]
Piotr Karwasz commented on LOG4J2-3139: --------------------------------------- [~ctubbsii], The release process of Apache projects is more complex than SLF4J's. A release vote is in progress (cf. [dev mailing list|https://lists.apache.org/thread/zf30lr2zdr3vnr2rqhs9oj6kvt2lf24x]). You are welcome to test the RC version and vote. Once the release process finishes, an announcement will be made on the [log4j-user mailing list|https://logging.apache.org/log4j/2.x/mail-lists.html]. The artifact id of the new SLF4J2 artifact is {{log4j-slf4j2-impl}}. > Startup errors with SLF4J 2.0.0-alpha4 > -------------------------------------- > > Key: LOG4J2-3139 > URL: https://issues.apache.org/jira/browse/LOG4J2-3139 > Project: Log4j 2 > Issue Type: New Feature > Components: SLF4J Bridge > Affects Versions: 2.14.1 > Reporter: Francesco Chicchiriccò > Assignee: Piotr Karwasz > Priority: Major > Fix For: 2.19.0 > > > With SLF4J 2.0.0-alpha4, the following error message is logged during web > application startup: > {code} > java.lang.AbstractMethodError: Receiver class > org.apache.logging.slf4j.SLF4JServiceProvider does not define or inherit an > implementation of the resolved method 'abstract java.lang.String > getRequestedApiVersion()' of interface org.slf4j.spi.SLF4JServiceProvider. > at org.slf4j.LoggerFactory.versionSanityCheck(LoggerFactory.java:298) > at > org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:142) > at org.slf4j.LoggerFactory.getProvider(LoggerFactory.java:422) > at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:408) > at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:357) > at > org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155) > at > org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:132) > at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:273) > at > org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:96) > at > org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:174) > at > org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5219) > at > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) > at > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) > at > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698) > at > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696) > at > org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1185) > at > org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1933) > at > java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) > at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) > at > org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) > at > java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118) > at > org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1095) > at > org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:477) > at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618) > at > org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319) > at > org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) > at > org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) > at > org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) > at > org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946) > at > org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835) > at > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) > at > org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) > at > org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) > at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) > at > org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) > at > java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) > at > org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919) > at > org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263) > at > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) > at > org.apache.catalina.core.StandardService.startInternal(StandardService.java:432) > at > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) > at > org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927) > at > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) > at org.apache.catalina.startup.Catalina.start(Catalina.java:772) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/java.lang.reflect.Method.invoke(Method.java:566) > at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345) > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476) > {code} > Despite of this, logging seems to work fine anyway. -- This message was sent by Atlassian Jira (v8.20.10#820010)