11package io .javaoperatorsdk .operator .processing ;
22
3+ import io .fabric8 .kubernetes .api .model .ObjectMeta ;
4+ import io .javaoperatorsdk .operator .api .config .Utils ;
35import org .slf4j .MDC ;
46
57import 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