+0

The Apache Geode *Log4j* dependency version *2.8.2* is or will cause
significant issues for apps, and in particular *Spring Boot* 2.0 apps.

This Geode Log4j version is already quite dated as *Log4j 2.11.0* is now
already available [1] and *Spring Boot* 2.0 pulls in *Log4j 2.10.0* [2].

*Why and how is this a problem for apps?  *

Well, when Pivotal GemFire 1.4? is rebased on Apache Geode 1.5 and PCC
version.next picks up Pivotal GemFire 1.4?, it is going to cause issues for
those *Spring Boot* apps deployed to PCF using PCC now that *Spring Boot*
2.0 is generally available and most users are now beginning their migration
to Boot 2.0, especially on PCF.

Of course, this not only necessarily affects (Java) apps using PCC or apps
based on *Spring Boot*.  Most users will use SLF4J for logging concerns in
their apps.  As such, more than likely the new adapter in Log4j2 to bridge
SLF4J & Log4j2 (i.e. 'slf4j-to-log4j' [3]) will be pulled in transitively.
The *new* slf4-to-log4j adapter/bridge introduced by *Log4j2* is *not
compatible* with *Log4j 2.8.2*.

Therefore, users must be aware that they will need to exclude the
slf4j-to-log4j adapter/bridge and resolve how they wish to "implement"
logging, i.e. routing all Log4j logging events to SLF4J (perhaps when using
the *Logback classic* provider) or the other way around, routing all SLF4J
logging events to Log4j2.  More details are here [4] and here [3], [5].
Also mindful not to use to the 2 together, or suffer from the infinite loop
you will, ;-).

Note, this is the current issue caused by the version incompatibility...

...
..
.
Caused by: java.lang.ClassCastException:
org.apache.logging.slf4j.SLF4JLogger cannot be cast to
org.apache.logging.log4j.core.Logger
at org.apache.geode.internal.logging.LogService.init(LogService.java:81)
~[geode-core-1.2.1.jar:na]
at
org.apache.geode.internal.logging.LogService.<clinit>(LogService.java:72)
~[geode-core-1.2.1.jar:na]
... 61 common frames omitted


While this currently has a workaround, I highly recommend that Apache Geode
*Log4j2* dependency be updated (to 2.11.0 no less) by the next release,
*1.6*.

Regards,
John


[1] https://logging.apache.org/log4j/2.0/download.html
[2]
https://github.com/spring-projects/spring-boot/blob/v2.0.0.RELEASE/spring-boot-project/spring-boot-dependencies/pom.xml#L119
[3] https://logging.apache.org/log4j/2.0/log4j-slf4j-impl/index.html
[4] https://www.slf4j.org/legacy.html
[5] https://logging.apache.org/log4j/2.0/runtime-dependencies.html


On Wed, Apr 4, 2018 at 2:34 PM, Bruce Schuchardt <bschucha...@pivotal.io>
wrote:

> +1 for releasing this RC
>
>
>
> On 3/30/18 12:15 PM, Swapnil Bawaskar wrote:
>
>> Both issues mentioned in the RC1 vote thread
>> <https://lists.apache.org/thread.html/f5e21be3bb5985836a7931
>> b43d992af49fa6d7f079bdfa6aaf0fa0bb@%3Cdev.geode.apache.org%3E>
>> have been resolved.
>>
>> This is the second release candidate for Apache Geode, version 1.5.0.
>> Thanks to all the community members for their contributions to this
>> release!
>>
>> *** Please download, test and vote by Wednesday, April 4, 1200 hrs
>> US Pacific. ***
>>
>> It fixes 235 issues. release notes can be found at:
>> https://issues.apache.org/jira/secure/ReleaseNote.jspa?proje
>> ctId=12318420&version=12342395
>>
>> Note that we are voting upon the source tags: rel/v1.5.0.RC1
>> https://github.com/apache/geode/tree/rel/v1.5.0.RC2
>> https://github.com/apache/geode-examples/tree/rel/v1.5.0.RC2
>>
>> Commit ID:
>> 1be57f3d18e5a97dbcc784d6df7724f5f6ced39b (geode)
>> 4941f05c86d928949fbcdb3fb12295ccecc219eb (geode-examples)
>>
>> Source and binary files:
>> https://dist.apache.org/repos/dist/dev/geode/1.5.0.RC2
>>
>> Maven staging repo:
>> https://repository.apache.org/content/repositories/orgapachegeode-1039
>>
>>
>> Geode's KEYS file containing PGP keys we use to sign the release:
>> https://github.com/apache/geode/blob/develop/KEYS
>>
>> Release Signed with Key: pub 4096R/18F902DB 2016-04-07
>> Fingerprint: E1B1 ABE3 4753 E7BA 8097 4285 8F8F 2BCC 18F9 02DB
>>
>>
>


-- 
-John
john.blum10101 (skype)

Reply via email to