Comments (7)
Behavior change comes with log4j2 2.19.x. log4j2 2.13.x - 2.18.x is OK. So only igloo 4.4+ is affected (including 5.x). We check this hypothesis.
from igloo-parent.
Errata : Behavior change comes with log4j2 2.18.x. log4j2 2.13.x - 2.17.2 is OK. So only igloo 4.3+ is affected (including 5.x).
Overriding org.apache.logging.log4j:*
dependencies with 2.17.2 version is a working fix for this issue.
from igloo-parent.
log4j2 2.17.2 cannot be used with slf4j 2.x ; rollback to log4j2 2.17.2 implies slf4j rollback (no impact as slf4j 1.7 and 2.x are API-compatible).
from igloo-parent.
For log4j2 2.18+, the problem is that org.apache.logging.log4j.util.PropertiesUtil.Environment
previously has a get(propertyName)
method that always lookup first system properties before using various property sources.
In igloo, we have a log4j2.component.properties
with the content (automatically loaded by log4j2).
log4j2.configurationFile=log4j2.properties
So first load set log4j2.configurationFile
in log4j2 configuration cache (cf Environment). Subsequent reload just loads again the same value from log4j2.component.properties
and system property override is just ignored.
It explains this simple reproducer without Igloo does not exhibit the failure (if log4j2-custom.properties switch level to error, second message is not displayed with both 2.17.0 and 2.18.0):
LogManager.getLogger().warn("start");
System.setProperty("log4j.configurationFile", "log4j2.properties,log4j2-custom.properties");
// reload log4j2 properties
PropertiesUtil.getProperties().reload();
// reload configuration
((LoggerContext) LogManager.getContext(false)).reconfigure();
LogManager.getLogger().warn("stop");
I need to check why this log4j2.component.properties
was added.
from igloo-parent.
35abb86 fixes issue with version 5.0.2.
from igloo-parent.
Issue comes from a mixed usage of legacy log4j.configurationFile
in programmatic configuration and log4j2.configurationFile
in log4j2.component.properties
. log4j2 2.17 and before seems to correctly override configuration even if a different property key is used. log4j2 2.18+ does not longer support this behavior.
from igloo-parent.
b819716 fixes issue with version 4.4.2
01e3f15 fixes issue with version 4.3.1
from igloo-parent.
Related Issues (20)
- Set ${notification.mail.from} a default value for sender ? HOT 2
- Wicket (html) notifications are splitted HOT 1
- DataUpgrade: allow an autoPerform upgrade to stop upgrades and application startup
- Role hierarchy: check if ROLE_SYSTEM gives at least one role
- AutoConfig and mixed hbm2ddl/flyway init broken HOT 1
- hibernate.xml_mapping_enabled bound to configuration.isCreateEmptyCompositesEnabled() HOT 1
- Fix basic-application + jgtiflow configuration
- Migrate tests to junit5; keep junit4 tests utilities HOT 3
- Switch phloc inliner to juice (nodejs) HOT 2
- Fix SpringBackedMonitoringResource resource name HOT 1
- Reload4j - Log4j1 Compatibility HOT 2
- StorageConsistencyCheck#checkType not set HOT 2
- wicket-webjars: insufficient webjars pattern matching rule
- Tooltip default configuration lost boundary: 'window' default configuration HOT 1
- AbstractOfflinePanelRendererServiceImpl is broken with bootstrap component HOT 4
- Storage: split on StorageUnit size is broken HOT 3
- SCSS from jar file triggers NPE HOT 1
- @ManifestPropertySource on @Configuration inner class fails HOT 2
- Broken cache behavior for build-time generated SCSS HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from igloo-parent.