Re: Trying log4j3 with java24 (virtual threads)

"Piotr P. Karwasz" <[email protected]> Tue, 28 Jan 2025 17:46:06 +0100
Newsgroups gmane.comp.jakarta.log4j.user
Message-ID <[email protected]>
Hi Joan,

On 28.01.2025 17:31, [email protected] wrote:
> Same error with 3.0.0-alpha1
>
> Joan.
>
> -----Original Message-----
> From: [email protected] <[email protected]>
> Sent: Tuesday, January 28, 2025 5:24 PM
> To: 'Log4J Users List' <[email protected]>
> Subject: RE: Trying log4j3 with java24 (virtual threads)
>
> ...
>
> But when I start my application, this error occurs:
>
> Caused by: java.lang.NoSuchMethodError: 'boolean org.apache.logging.log4j.core.util.Loader.isClassAvailable(java.lang.String)'
>          at org.apache.logging.log4j.web.Log4jWebInitializerImpl.<clinit>(Log4jWebInitializerImpl.java:57)
>          at org.apache.logging.log4j.web.WebLoggerContextUtils.getWebLifeCycle(WebLoggerContextUtils.java:84)
>          at org.apache.logging.log4j.web.Log4jServletContainerInitializer.onStartup(Log4jServletContainerInitializer.java:56)
>          at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4426)
>          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)

I was afraid that might happen. A small breaking change between Log4j 
Core 2 and 3 broke both artifacts.

I have freshly compiled a new `3.0.0-SNAPSHOT` version of 
`log4j-jakarta-web`, which should work. You just need to add our 
snapshot releases repo:

<repositories>
   <repository>
     <releases>
       <enabled>false</enabled>
     </releases>
     <id>apache.snapshots</id>
     <name>Apache Snapshot Repository</name>
     <url>https://repository.apache.org/snapshots</url>
   </repository>
</repositories>

The release process for a beta release is not long, but we have a
documentation backlog that we need to address before performing a
release, so it might take some time before we publish a `beta1`.

On the other hand the code of the Jakarta artifacts is pretty stable
and has not changed in years. It should be safe to use it in a test
environment.

Piotr