[ https://issues.apache.org/jira/browse/LOG4J2-3304 ]
francis deleted comment on LOG4J2-3304:
---------------------------------
was (Author: JIRAUSER281512):
I am using SpringBoot 2.1.1.RELEASE. The code marked with red color below is
the key, {color:#172b4d}LogManagerStatus.isInitialized() return false because
LogManagerStatus.{color}setInitialized is not called while the property
log4j2.loggerContextFactory is present and load successfully, in the static
block of LogManager.{color:#172b4d} so the method getEnvironment will never
execute the if block and environment will be always null{color}
{code:java}
// code placeholder
public class SpringEnvironmentHolder {
private volatile Environment environment;
private Lock lock = new ReentrantLock();
protected Environment getEnvironment() {
if (environment == null && LogManagerStatus.isInitialized() &&
LogManager.getFactory() != null &&
LogManager.getFactory().hasContext(SpringEnvironmentHolder.class.getName(),
null, false)) {
lock.lock();
try {
if (environment == null) {
Object obj =
LogManager.getContext(false).getObject(Log4j2CloudConfigLoggingSystem.ENVIRONMENT_KEY);
environment = obj instanceof Environment ? (Environment)
obj : null;
}
} finally {
lock.unlock();
}
}
return environment;
}
} {code}
> SpringEnvironmentHolder getEnvironment always return null
> ---------------------------------------------------------
>
> Key: LOG4J2-3304
> URL: https://issues.apache.org/jira/browse/LOG4J2-3304
> Project: Log4j 2
> Issue Type: Bug
> Components: API, Spring
> Affects Versions: 2.17.1
> Reporter: francis
> Priority: Major
>
> I am using SpringLookup and SpringProfileArbiter for conditional
> configuration, but it doesn't work. I debugged into SpringEnvironmentHolder
> and found that the getEnvironment method always returns null. Then I found
> the root cause is that when the factoryClassName is present and load
> successfully, the LogManagerStatus is not set in the static block of
> LogManager. It could be a bug, please take a look
--
This message was sent by Atlassian Jira
(v8.20.1#820001)