ART: Use libbase logging
Move most of our logging infrastructure over to system/core/base.
Retain VLOG.
Using unified Android infrastructure has two main advantages. First,
it reduces the complexity/maintenance burden in ART. Second, it
allows to detach logging for the cases where we do not want or need
a runtime, e.g., dexdump, the disassembler, etc. As a part of the
latter, libbase is also supported for all hosts (including Windows).
From a developer viewpoint, there are minor behavior changes for the
LOG statements (see above), but otherwise usage is the same. Explicit
severity enum items are in the android::base namespace now.
Bug: 31338270
Test: m test-art-host
Change-Id: I5abcb2f45f5b03d49951874c48544f72a283a91b
diff --git a/runtime/openjdkjvmti/Android.bp b/runtime/openjdkjvmti/Android.bp
index 08272fa..d7a6c0a 100644
--- a/runtime/openjdkjvmti/Android.bp
+++ b/runtime/openjdkjvmti/Android.bp
@@ -20,7 +20,10 @@
srcs: ["OpenjdkJvmTi.cc",
"transform.cc"],
include_dirs: ["art/runtime"],
- shared_libs: ["libnativehelper"],
+ shared_libs: [
+ "libbase",
+ "libnativehelper",
+ ],
}
art_cc_library {
diff --git a/runtime/openjdkjvmti/transform.cc b/runtime/openjdkjvmti/transform.cc
index a0d79f3..b5622b5 100644
--- a/runtime/openjdkjvmti/transform.cc
+++ b/runtime/openjdkjvmti/transform.cc
@@ -201,8 +201,8 @@
art::Handle<art::mirror::Class> loader_class(hs.NewHandle(h_class_loader->GetClass()));
// Check if loader is a BaseDexClassLoader
if (!loader_class->IsSubClass(base_dex_loader_class.Get())) {
- LOG(art::ERROR) << "The classloader is not a BaseDexClassLoader which is currently the only "
- << "supported class loader type!";
+ LOG(ERROR) << "The classloader is not a BaseDexClassLoader which is currently the only "
+ << "supported class loader type!";
return false;
}
art::Handle<art::mirror::Object> path_list(
@@ -333,7 +333,7 @@
// Find dalvik.system.DexFile that represents the dex file we are changing.
if (!FindDalvikSystemDexFileAndLoaderForClass(klass, &dex_file_ptr, &class_loader_ptr)) {
self->TransitionFromRunnableToSuspended(old_state);
- LOG(art::ERROR) << "Could not find DexFile.";
+ LOG(ERROR) << "Could not find DexFile.";
return ERR(INTERNAL);
}
art::Handle<art::mirror::Object> dex_file_obj(hs.NewHandle(dex_file_ptr));