瀏覽代碼

Revision: Change Default Logging In CLI (#2157)

* revision: filter to warn logs

* revision: change to use DIOXUS_LOG
Miles Murgaw 1 年之前
父節點
當前提交
44f3047780
共有 3 個文件被更改,包括 57 次插入10 次删除
  1. 35 7
      Cargo.lock
  2. 2 1
      packages/cli/Cargo.toml
  3. 20 2
      packages/cli/src/main.rs

+ 35 - 7
Cargo.lock

@@ -897,7 +897,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706"
 dependencies = [
  "memchr",
- "regex-automata",
+ "regex-automata 0.4.6",
  "serde",
 ]
 
@@ -3789,8 +3789,8 @@ dependencies = [
  "aho-corasick",
  "bstr 1.9.1",
  "log",
- "regex-automata",
- "regex-syntax",
+ "regex-automata 0.4.6",
+ "regex-syntax 0.8.2",
 ]
 
 [[package]]
@@ -4619,7 +4619,7 @@ dependencies = [
  "globset",
  "log",
  "memchr",
- "regex-automata",
+ "regex-automata 0.4.6",
  "same-file",
  "walkdir",
  "winapi-util",
@@ -5546,6 +5546,15 @@ version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
 
+[[package]]
+name = "matchers"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
+dependencies = [
+ "regex-automata 0.1.10",
+]
+
 [[package]]
 name = "matches"
 version = "0.1.10"
@@ -7135,8 +7144,17 @@ checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-automata",
- "regex-syntax",
+ "regex-automata 0.4.6",
+ "regex-syntax 0.8.2",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
+dependencies = [
+ "regex-syntax 0.6.29",
 ]
 
 [[package]]
@@ -7147,9 +7165,15 @@ checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-syntax",
+ "regex-syntax 0.8.2",
 ]
 
+[[package]]
+name = "regex-syntax"
+version = "0.6.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+
 [[package]]
 name = "regex-syntax"
 version = "0.8.2"
@@ -9188,10 +9212,14 @@ version = "0.3.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
 dependencies = [
+ "matchers",
  "nu-ansi-term",
+ "once_cell",
+ "regex",
  "sharded-slab",
  "smallvec",
  "thread_local",
+ "tracing",
  "tracing-core",
  "tracing-log",
 ]

+ 2 - 1
packages/cli/Cargo.toml

@@ -95,7 +95,8 @@ interprocess = { workspace = true }
 # interprocess-docfix = { version = "1.2.2" }
 ignore = "0.4.22"
 env_logger = "0.11.3"
-tracing-subscriber = "0.3.18"
+
+tracing-subscriber = { version = "0.3.18", features = ["std", "env-filter"] }
 tracing = { workspace = true }
 
 # on maco, we need to specify the vendored feature on ssl when cross compiling

+ 20 - 2
packages/cli/src/main.rs

@@ -1,5 +1,7 @@
 use dioxus_cli_config::DioxusConfig;
-use std::path::PathBuf;
+use std::{env, path::PathBuf};
+use tracing::level_filters::LevelFilter;
+use tracing_subscriber::EnvFilter;
 
 use anyhow::Context;
 use clap::Parser;
@@ -7,11 +9,27 @@ use dioxus_cli::*;
 
 use Commands::*;
 
+const LOG_ENV: &str = "DIOXUS_LOG";
+
 #[tokio::main]
 async fn main() -> anyhow::Result<()> {
     let args = Cli::parse();
 
-    tracing_subscriber::fmt::init();
+    // If {LOG_ENV} is set, default to env, otherwise filter to cli
+    // and manganis warnings and errors from other crates
+    if env::var(LOG_ENV).is_ok() {
+        let filter = EnvFilter::from_env(LOG_ENV);
+        tracing_subscriber::fmt().with_env_filter(filter).init();
+    } else {
+        let filter = EnvFilter::builder()
+            .with_default_directive(LevelFilter::ERROR.into())
+            .from_env()
+            .unwrap()
+            .add_directive("dioxus_cli=warn".parse().unwrap())
+            .add_directive("manganis-cli-support=warn".parse().unwrap());
+
+        tracing_subscriber::fmt().with_env_filter(filter).init();
+    }
 
     match args.action {
         Translate(opts) => opts