diff --git a/openjdkjvmti/ti_heap.cc b/openjdkjvmti/ti_heap.cc
index b0511a9..f14fbaf 100644
--- a/openjdkjvmti/ti_heap.cc
+++ b/openjdkjvmti/ti_heap.cc
@@ -23,6 +23,7 @@
 #include "arch/context.h"
 #include "art_field-inl.h"
 #include "art_jvmti.h"
+#include "base/logging.h"
 #include "base/macros.h"
 #include "base/mutex.h"
 #include "base/utils.h"
@@ -1651,8 +1652,8 @@
                           bool is_static ATTRIBUTE_UNUSED) const
               REQUIRES_SHARED(art::Locks::mutator_lock_) {
             if (obj->GetFieldObject<art::mirror::Object>(off) == old_obj_) {
-              LOG(DEBUG) << "Updating field at offset " << off.Uint32Value() << " of type "
-                         << obj->GetClass()->PrettyClass();
+              VLOG(plugin) << "Updating field at offset " << off.Uint32Value() << " of type "
+                           << obj->GetClass()->PrettyClass();
               obj->SetFieldObject</*transaction*/ false>(off, new_obj_);
             }
           }
@@ -1767,7 +1768,7 @@
       art::Thread* t = thread_list->FindThreadByThreadId(id);
       CHECK(t != nullptr) << "id " << id << " does not refer to a valid thread."
                           << " Where did the roots come from?";
-      LOG(DEBUG) << "Instrumenting thread stack of thread " << *t;
+      VLOG(plugin) << "Instrumenting thread stack of thread " << *t;
       // TODO Use deopt manager. We need a version that doesn't acquire all the locks we
       // already have.
       // TODO We technically only need to do this if the frames are not already being interpreted.
