Skip to content

Commit b2106f0

Browse files
authored
feat: enable deactivation of MDC logging (#2699)
Signed-off-by: Chris Laprun <[email protected]>
1 parent 2d9d57c commit b2106f0

File tree

2 files changed

+38
-23
lines changed

2 files changed

+38
-23
lines changed

Diff for: operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/Utils.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ public class Utils {
2323
private static final Logger log = LoggerFactory.getLogger(Utils.class);
2424
public static final String CHECK_CRD_ENV_KEY = "JAVA_OPERATOR_SDK_CHECK_CRD";
2525
public static final String DEBUG_THREAD_POOL_ENV_KEY = "JAVA_OPERATOR_SDK_DEBUG_THREAD_POOL";
26+
public static final String USE_MDC_ENV_KEY = "JAVA_OPERATOR_SDK_USE_MDC";
2627
public static final String GENERIC_PARAMETER_TYPE_ERROR_PREFIX =
2728
"Couldn't retrieve generic parameter type from ";
2829

@@ -97,7 +98,7 @@ public static boolean debugThreadPool() {
9798
return getBooleanFromSystemPropsOrDefault(DEBUG_THREAD_POOL_ENV_KEY, false);
9899
}
99100

100-
static boolean getBooleanFromSystemPropsOrDefault(String propertyName, boolean defaultValue) {
101+
public static boolean getBooleanFromSystemPropsOrDefault(String propertyName, boolean defaultValue) {
101102
var property = System.getProperty(propertyName);
102103
if (property == null) {
103104
return defaultValue;
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package io.javaoperatorsdk.operator.processing;
22

3+
import io.fabric8.kubernetes.api.model.ObjectMeta;
4+
import io.javaoperatorsdk.operator.api.config.Utils;
35
import org.slf4j.MDC;
46

57
import io.fabric8.kubernetes.api.model.HasMetadata;
@@ -15,38 +17,50 @@ public class MDCUtils {
1517
private static final String GENERATION = "resource.generation";
1618
private static final String UID = "resource.uid";
1719
private static final String NO_NAMESPACE = "no namespace";
20+
private static final boolean enabled = Utils.getBooleanFromSystemPropsOrDefault(Utils.USE_MDC_ENV_KEY, true);
1821

1922
public static void addResourceIDInfo(ResourceID resourceID) {
20-
MDC.put(NAME, resourceID.getName());
21-
MDC.put(NAMESPACE, resourceID.getNamespace().orElse(NO_NAMESPACE));
23+
if (enabled) {
24+
MDC.put(NAME, resourceID.getName());
25+
MDC.put(NAMESPACE, resourceID.getNamespace().orElse(NO_NAMESPACE));
26+
}
2227
}
2328

2429
public static void removeResourceIDInfo() {
25-
MDC.remove(NAME);
26-
MDC.remove(NAMESPACE);
30+
if (enabled) {
31+
MDC.remove(NAME);
32+
MDC.remove(NAMESPACE);
33+
}
2734
}
2835

2936
public static void addResourceInfo(HasMetadata resource) {
30-
MDC.put(API_VERSION, resource.getApiVersion());
31-
MDC.put(KIND, resource.getKind());
32-
MDC.put(NAME, resource.getMetadata().getName());
33-
if (resource.getMetadata().getNamespace() != null) {
34-
MDC.put(NAMESPACE, resource.getMetadata().getNamespace());
35-
}
36-
MDC.put(RESOURCE_VERSION, resource.getMetadata().getResourceVersion());
37-
if (resource.getMetadata().getGeneration() != null) {
38-
MDC.put(GENERATION, resource.getMetadata().getGeneration().toString());
39-
}
40-
MDC.put(UID, resource.getMetadata().getUid());
37+
if (enabled) {
38+
MDC.put(API_VERSION, resource.getApiVersion());
39+
MDC.put(KIND, resource.getKind());
40+
final var metadata = resource.getMetadata();
41+
if (metadata != null) {
42+
MDC.put(NAME, metadata.getName());
43+
if (metadata.getNamespace() != null) {
44+
MDC.put(NAMESPACE, metadata.getNamespace());
45+
}
46+
MDC.put(RESOURCE_VERSION, metadata.getResourceVersion());
47+
if (metadata.getGeneration() != null) {
48+
MDC.put(GENERATION, metadata.getGeneration().toString());
49+
}
50+
MDC.put(UID, metadata.getUid());
51+
}
52+
}
4153
}
4254

4355
public static void removeResourceInfo() {
44-
MDC.remove(API_VERSION);
45-
MDC.remove(KIND);
46-
MDC.remove(NAME);
47-
MDC.remove(NAMESPACE);
48-
MDC.remove(RESOURCE_VERSION);
49-
MDC.remove(GENERATION);
50-
MDC.remove(UID);
56+
if (enabled) {
57+
MDC.remove(API_VERSION);
58+
MDC.remove(KIND);
59+
MDC.remove(NAME);
60+
MDC.remove(NAMESPACE);
61+
MDC.remove(RESOURCE_VERSION);
62+
MDC.remove(GENERATION);
63+
MDC.remove(UID);
64+
}
5165
}
5266
}

0 commit comments

Comments
 (0)