OSDN Git Service

rusty-gd: integrate logging
authorZach Johnson <zachoverflow@google.com>
Mon, 23 Nov 2020 17:53:59 +0000 (09:53 -0800)
committerZach Johnson <zachoverflow@google.com>
Tue, 1 Dec 2020 01:05:27 +0000 (17:05 -0800)
Bug: 171749953
Tag: #gd-refactor
Test: gd/cert/run --rhost SimpleHalTest
Change-Id: Ic0e454d8490d08a645bbab86f86f102c0d7784ad

gd/rust/common/Android.bp
gd/rust/common/src/lib.rs
gd/rust/facade/Android.bp
gd/rust/facade/src/main.rs
gd/rust/hal/Android.bp
gd/rust/hal/src/facade.rs
gd/rust/hci/Android.bp
gd/rust/hci/src/facade.rs

index aaeee5b..61cc468 100644 (file)
@@ -6,7 +6,20 @@ rust_library {
     rustlibs: [
         "libtokio",
         "libnix",
+        "liblog_rust",
     ],
+    target: {
+        android: {
+            rustlibs: [
+                "libandroid_logger",
+            ],
+        },
+        host: {
+            rustlibs: [
+                "libenv_logger",
+            ],
+        },
+    },
     host_supported: true,
 }
 
@@ -18,5 +31,7 @@ rust_test_host {
     rustlibs: [
         "libtokio",
         "libnix",
+        "liblog_rust",
+        "libenv_logger",
     ],
 }
index 5f83d13..97ac682 100644 (file)
@@ -9,3 +9,22 @@ mod ready;
 #[cfg(test)]
 #[macro_use]
 mod asserts;
+
+/// Inits logging for Android
+#[cfg(target_os = "android")]
+pub fn init_logging() {
+    android_logger::init_once(
+        android_logger::Config::default()
+            .with_tag("bt")
+            .with_min_level(log::Level::Debug),
+    );
+}
+
+/// Inits logging for host
+#[cfg(not(target_os = "android"))]
+pub fn init_logging() {
+    env_logger::Builder::new()
+        .filter(None, log::LevelFilter::Debug)
+        .parse_default_env()
+        .init();
+}
index ad6a8b0..c45e45a 100644 (file)
@@ -28,6 +28,8 @@ rust_binary {
       "libgrpcio",
       "libtokio",
       "libnix",
+      "libbt_common",
+      "liblog_rust",
     ],
     host_supported: true,
 }
index c6b7264..ad2c3f7 100644 (file)
@@ -17,9 +17,11 @@ use std::net::{IpAddr, Ipv4Addr, Shutdown, SocketAddr};
 use std::sync::{Arc, Mutex};
 use tokio::net::TcpStream;
 use tokio::runtime::Runtime;
+use log::debug;
 
 fn main() {
     let sigint = install_sigint();
+    bt_common::init_logging();
     let rt = Arc::new(Runtime::new().unwrap());
     rt.block_on(async_main(Arc::clone(&rt), sigint));
 }
@@ -106,7 +108,7 @@ lazy_static! {
 extern "C" fn handle_sigint(_: i32) {
     let mut sigint_tx = SIGINT_TX.lock().unwrap();
     if let Some(tx) = &*sigint_tx {
-        println!("Stopping gRPC root server due to SIGINT");
+        debug!("Stopping gRPC root server due to SIGINT");
         tx.unbounded_send(()).unwrap();
     }
     *sigint_tx = None;
index 3a805f0..c24dd44 100644 (file)
@@ -16,6 +16,7 @@ rust_library {
         "libgddi",
         "libcxx",
         "liblazy_static",
+        "liblog_rust",
     ],
     host_supported: true,
     target: {
index 75ca0fc..4982a6c 100644 (file)
@@ -21,7 +21,6 @@ module! {
 
 #[provides]
 async fn provide_facade(hal_exports: HalExports, rt: Arc<Runtime>) -> HciHalFacadeService {
-    println!("starting hal facade");
     HciHalFacadeService {
         rt,
         cmd_tx: hal_exports.cmd_tx,
index 200af1a..3ea030f 100644 (file)
@@ -15,6 +15,7 @@ rust_library {
         "libtokio",
         "libprotobuf",
         "libgddi",
+        "liblog_rust",
     ],
     proc_macros: [
         "libnum_derive",
index cdc32e8..4afe625 100644 (file)
@@ -10,6 +10,7 @@ use gddi::{module, provides};
 use grpcio::*;
 use std::sync::Arc;
 use tokio::runtime::Runtime;
+use log::error;
 
 module! {
     facade_module,
@@ -52,7 +53,7 @@ impl HciLayerFacade for HciLayerFacadeService {
         let f = sink
             .success(Empty::default())
             .map_err(|e: grpcio::Error| {
-                println!(
+                error!(
                     "failed to handle enqueue_command_with_complete request: {:?}",
                     e
                 )
@@ -76,7 +77,7 @@ impl HciLayerFacade for HciLayerFacadeService {
         let f = sink
             .success(Empty::default())
             .map_err(|e: grpcio::Error| {
-                println!(
+                error!(
                     "failed to handle enqueue_command_with_status request: {:?}",
                     e
                 )
@@ -95,7 +96,7 @@ impl HciLayerFacade for HciLayerFacadeService {
         let f = sink
             .success(Empty::default())
             .map_err(|e: grpcio::Error| {
-                println!(
+                error!(
                     "failed to handle enqueue_command_with_status request: {:?}",
                     e
                 )