This is an automated email from the ASF dual-hosted git repository.
rgoers pushed a commit to branch release-2.x
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
The following commit(s) were added to refs/heads/release-2.x by this push:
new d807c7adbe Defer fetching of the filter configuration until the first
poll to prevent application startup from being blocked
d807c7adbe is described below
commit d807c7adbe6235a05c617f15148dad0c396c3c05
Author: Ralph Goers <[email protected]>
AuthorDate: Wed May 11 13:59:14 2022 -0700
Defer fetching of the filter configuration until the first poll to prevent
application startup from being blocked
---
.../core/filter/MutableThreadContextMapFilter.java | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MutableThreadContextMapFilter.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MutableThreadContextMapFilter.java
index 3fab3e4fa0..5b9377dc34 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MutableThreadContextMapFilter.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MutableThreadContextMapFilter.java
@@ -247,19 +247,23 @@ public class MutableThreadContextMapFilter extends
AbstractFilter {
}
final AuthorizationProvider authorizationProvider =
ConfigurationFactory.authorizationProvider(PropertiesUtil.getProperties());
- final ConfigResult result = getConfig(source,
authorizationProvider);
Filter filter;
- if (result.status == Status.SUCCESS) {
- if (result.pairs.length > 0) {
- filter = ThreadContextMapFilter.createFilter(result.pairs,
"or",
- getOnMatch(), getOnMismatch());
+ if (pollInterval <= 0) {
+ ConfigResult result = getConfig(source, authorizationProvider);
+ if (result.status == Status.SUCCESS) {
+ if (result.pairs.length > 0) {
+ filter =
ThreadContextMapFilter.createFilter(result.pairs, "or",
+ getOnMatch(), getOnMismatch());
+ } else {
+ filter = new NoOpFilter();
+ }
+ } else if (result.status == Status.NOT_FOUND || result.status
== Status.EMPTY) {
+ filter = new NoOpFilter();
} else {
+ LOGGER.warn("Unexpected response returned on initial call:
{}", result.status);
filter = new NoOpFilter();
}
- } else if (result.status == Status.NOT_FOUND || result.status ==
Status.EMPTY) {
- filter = new NoOpFilter();
} else {
- LOGGER.warn("Unexpected response returned on initial call:
{}", result.status);
filter = new NoOpFilter();
}