Use local LoggerContext in Log4jLog when static field not initialized yet
Closes gh-24440
This commit is contained in:
parent
d93403a257
commit
8cced42fb2
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2002-2018 the original author or authors.
|
* Copyright 2002-2020 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -157,7 +157,12 @@ final class LogAdapter {
|
||||||
private final ExtendedLogger logger;
|
private final ExtendedLogger logger;
|
||||||
|
|
||||||
public Log4jLog(String name) {
|
public Log4jLog(String name) {
|
||||||
this.logger = loggerContext.getLogger(name);
|
LoggerContext context = loggerContext;
|
||||||
|
if (context == null) {
|
||||||
|
// Circular call in early-init scenario -> static field not initialized yet
|
||||||
|
context = LogManager.getContext(Log4jLog.class.getClassLoader(), false);
|
||||||
|
}
|
||||||
|
this.logger = context.getLogger(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue