Upgrade from 12.3 to 15.5.1 log regression — unable to create log per PU using slf4j logger api and Log4j configuration
Description
The customer is using Log4j 2 as implementation with SLF4J as API.
Using 12.3.1 a separate log was created for each PU, but after upgrading to 15.5.1 no PU log has been created.
There were a few cycles to make it straightforward. See:
Reproduction:
Version 12.3.1
1. build Test-slf4j-12.3.1
2. ./gs-agent.sh
3. deploy Test-slf4j-12.3.1.jar
4. reuslt: a log named Test-slf4j-12.3.1.log will be created under: gigaspaces-xap-enterprise-12.3.1-ga-b19300/bin
the log messages will be written to this log + Console
Version 15.5.1
1. build Test-slf4j-15.5.1
2. ./gs.sh host run-agent --manager --gsc=2
3. deploy Test-slf4j-15.5.1.jar
4. result: no log will be created under gigaspaces-xap-enterprise-15.5.1/bin
the log messages will be written to the GSC log + Console
More tests:
V15.5.1 - When I started the grid without a Manager: e.g - ./gs-agent.sh
- the PU log is created and the messages are written into it.V15.2 - It workes even I started the grid with a Manager.
V15.5.1 - Using log4j API directly (w/o slf4j) it is working even with a Manager.
V15.5.1 - When I copied Test-slf4j-15.5.1.jar to pu-commone + copied those 4 jars (dependencies in the pom.xml)
disruptor-3.3.7.jar
log4j-core-2.11.1.jar
slf4j-api-1.7.25.jar
log4j-api-2.11.1.jar
log4j-slf4j-impl-2.11.1.jar
To lib/platform/ext
And started the grid with a Manager - a log named Test-slf4j-15.5.1.log has been created under gigaspaces-xap-enterprise-15.5.1/bin but nothing has been written to into it.
Seems that with V15.5.1 when the binding is done to the GSC log, it can’t be bind to another target.
V15.5 - slf4j with logback
There is another customer that upgrades to version 15.5 and using logback for a separate PU logging and got the same behavior (with Manager it is not working. w/o Manager it does).
Using version 15.5.1 using slf4j should be straightforward.
Activity
The patch should be on top of XAP 15.5.1 GA.