diff --git a/hazelcast/src/main/java/com/hazelcast/internal/memory/impl/UnsafeUtil.java b/hazelcast/src/main/java/com/hazelcast/internal/memory/impl/UnsafeUtil.java
index <HASH>..<HASH> 100644
--- a/hazelcast/src/main/java/com/hazelcast/internal/memory/impl/UnsafeUtil.java
+++ b/hazelcast/src/main/java/com/hazelcast/internal/memory/impl/UnsafeUtil.java
@@ -55,7 +55,7 @@ public final class UnsafeUtil {
             }
         } catch (Throwable t) {
             unsafe = null;
-            LOGGER.warning("Unable to get an instance of Unsafe. Unsafe-based operations will be unavailable", t);
+            logFailureToFindUnsafeDueTo(t);
         }
         UNSAFE = unsafe;
         UNSAFE_AVAILABLE = UNSAFE != null;
@@ -108,4 +108,12 @@ public final class UnsafeUtil {
         unsafe.putDouble(buffer, normalize(arrayBaseOffset, Bits.DOUBLE_SIZE_IN_BYTES), 5d);
         unsafe.copyMemory(new byte[buffer.length], arrayBaseOffset, buffer, arrayBaseOffset, buffer.length);
     }
+
+    private static void logFailureToFindUnsafeDueTo(final Throwable reason) {
+        if (LOGGER.isFinestEnabled()) {
+            LOGGER.finest("Unable to get an instance of Unsafe. Unsafe-based operations will be unavailable", reason);
+        } else {
+            LOGGER.warning("Unable to get an instance of Unsafe. Unsafe-based operations will be unavailable");
+        }
+    }
 }
Suppress find Unsafe exception when Log Level is not set to trace. (#<I>) (#<I>)

[BACKPORT] This fixes #<I>