fix(core): manage mobile logs, fix Android logcat filtering (#5659)

This commit is contained in:
Lucas Fernandes Nogueira
2022-11-20 10:55:38 -03:00
committed by GitHub
parent f6f9192aa5
commit 6dcb7fbb81
11 changed files with 38 additions and 65 deletions

View File

@@ -43,6 +43,7 @@ pub fn entry_point(_attributes: TokenStream, item: TokenStream) -> TokenStream {
&mut error,
&function,
);
let app_name_str = var("CARGO_PKG_NAME").unwrap();
if let Some(e) = error {
quote!(#e).into()
@@ -61,6 +62,7 @@ pub fn entry_point(_attributes: TokenStream, item: TokenStream) -> TokenStream {
#function
fn _start_app() {
::tauri::init_logging(#app_name_str);
#[cfg(target_os = "android")]
{
use ::tauri::paste;

View File

@@ -106,6 +106,11 @@ win7-notifications = { version = "0.3.1", optional = true }
[target.'cfg(target_os = "android")'.dependencies]
paste = "1.0"
android_logger = "0.9"
log = "0.4"
[target.'cfg(target_os = "ios")'.dependencies]
env_logger = "0.9.0"
[target."cfg(windows)".dependencies.windows]
version = "0.39.0"

View File

@@ -277,6 +277,22 @@ pub use self::runtime::ClipboardManager;
#[cfg_attr(doc_cfg, doc(cfg(feature = "global-shortcut")))]
pub use self::runtime::GlobalShortcutManager;
#[cfg(target_os = "android")]
#[doc(hidden)]
pub fn init_logging(tag: &str) {
android_logger::init_once(
android_logger::Config::default()
.with_min_level(log::Level::Trace)
.with_tag(tag),
);
}
#[cfg(target_os = "ios")]
#[doc(hidden)]
pub fn init_logging(_tag: &str) {
env_logger::init();
}
/// Updater events.
#[cfg(updater)]
#[cfg_attr(doc_cfg, doc(cfg(feature = "updater")))]

View File

@@ -101,8 +101,6 @@ checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6"
name = "api"
version = "0.1.0"
dependencies = [
"android_logger",
"env_logger 0.9.3",
"log",
"serde",
"serde_json",
@@ -145,9 +143,9 @@ dependencies = [
[[package]]
name = "attohttpc"
version = "0.22.0"
version = "0.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1fcf00bc6d5abb29b5f97e3c61a90b6d3caa12f3faf897d4a3e3607c050a35a7"
checksum = "b85f766c20e6ae766956f7a2fcc4e0931e79a7e1f48b29132b5d647021114914"
dependencies = [
"flate2",
"http",
@@ -3010,6 +3008,7 @@ dependencies = [
name = "tauri"
version = "1.2.0"
dependencies = [
"android_logger",
"anyhow",
"attohttpc",
"base64",
@@ -3019,6 +3018,7 @@ dependencies = [
"dirs-next",
"embed_plist",
"encoding_rs",
"env_logger 0.9.3",
"flate2",
"futures-util",
"glib",
@@ -3029,6 +3029,7 @@ dependencies = [
"ico",
"ignore",
"infer 0.9.0",
"log",
"minisign-verify",
"notify-rust",
"objc",

View File

@@ -38,15 +38,6 @@ features = [
window-vibrancy = "0.2"
window-shadows= "0.2"
[target.'cfg(any(target_os = "android", target_os = "ios"))'.dependencies]
log = "0.4"
[target.'cfg(target_os = "android")'.dependencies]
android_logger = "0.9.0"
[target.'cfg(target_os = "ios")'.dependencies]
env_logger = "0.9.0"
[features]
default = [ "custom-protocol" ]
custom-protocol = [ "tauri/custom-protocol" ]

View File

@@ -1,23 +1,4 @@
#[cfg(target_os = "android")]
fn init_logging(app_name: &str) {
android_logger::init_once(
android_logger::Config::default()
.with_min_level(log::Level::Trace)
.with_tag(app_name),
);
}
#[cfg(not(target_os = "android"))]
fn init_logging(_app_name: &str) {
env_logger::init();
}
#[tauri::mobile_entry_point]
fn main() {
super::AppBuilder::new()
.setup(|app| {
init_logging(&app.package_info().name);
Ok(())
})
.run();
super::AppBuilder::new().run();
}

View File

@@ -378,7 +378,7 @@ dependencies = [
[[package]]
name = "cargo-mobile"
version = "0.1.0"
source = "git+https://github.com/tauri-apps/cargo-mobile?branch=dev#068cda074b0ff0c42f8d5297d8a2d5c29fd75c03"
source = "git+https://github.com/tauri-apps/cargo-mobile?branch=dev#51d0e9a6c9b37e3287ebd5210d28798c534cb971"
dependencies = [
"cocoa",
"colored 1.9.3",

View File

@@ -95,6 +95,7 @@ pub fn get_config(
let raw = RawAndroidConfig {
features: android_options.features.clone(),
logcat_filter_specs: vec!["RustStdoutStderr".into()],
..Default::default()
};
let config = AndroidConfig::from_raw(app.clone(), Some(raw)).unwrap();

View File

@@ -16,7 +16,7 @@ use cargo_mobile::{
env::Env,
},
config::app::App,
opts::{NoiseLevel, Profile},
opts::{FilterLevel, NoiseLevel, Profile},
};
use std::env::set_var;
@@ -189,7 +189,11 @@ fn run(
env,
noise_level,
profile,
None,
Some(match noise_level {
NoiseLevel::Polite => FilterLevel::Info,
NoiseLevel::LoudAndProud => FilterLevel::Debug,
NoiseLevel::FranklyQuitePedantic => FilterLevel::Verbose,
}),
build_app_bundle,
false,
".MainActivity".into(),

View File

@@ -21,15 +21,6 @@ serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }
tauri = {{{ tauri_dep }}}
[target.'cfg(any(target_os = "android", target_os = "ios"))'.dependencies]
log = "0.4"
[target.'cfg(target_os = "android")'.dependencies]
android_logger = "0.9.0"
[target.'cfg(target_os = "ios")'.dependencies]
env_logger = "0.9.0"
[features]
# by default Tauri runs in production mode
# when `tauri dev` runs it is executed with `cargo run --no-default-features` if `devPath` is an URL

View File

@@ -1,23 +1,4 @@
#[cfg(target_os = "android")]
fn init_logging(app_name: &str) {
android_logger::init_once(
android_logger::Config::default()
.with_min_level(log::Level::Trace)
.with_tag(app_name),
);
}
#[cfg(not(target_os = "android"))]
fn init_logging(_app_name: &str) {
env_logger::init();
}
#[tauri::mobile_entry_point]
fn main() {
super::AppBuilder::new()
.setup(|app| {
init_logging(&app.package_info().name);
Ok(())
})
.run()
super::AppBuilder::new().run()
}