File: 2004_no_env-filter.patch

package info (click to toggle)
rudof 0.1.140%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 9,648 kB
  • sloc: python: 1,288; makefile: 29; sh: 1
file content (108 lines) | stat: -rw-r--r-- 3,720 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
Description: avoid not-in-Debian tracing-subscriber feature "env-filter"
Author: Jonas Smedegaard <dr@jones.dk>
Bug-Debian: https://bugs.debian.org/1053420
Forwarded: not-needed
Last-Update: 2025-03-11
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -117,7 +117,7 @@
 tokio-test = "0.4"
 toml = ">= 0.8.19, <= 0.9"
 tracing = "0.1"
-tracing-subscriber = { version = "0.3", features = ["env-filter"] }
+tracing-subscriber = "0.3"
 url = "2.2.2"
 uuid = { version = "1.0", features = ["v4"] }
 yaml-rust2 = { version = "0.10" }
--- a/rudof_generate/src/main.rs
+++ b/rudof_generate/src/main.rs
@@ -2,12 +2,42 @@
 use rudof_generate::{DataGenerator, GeneratorConfig};
 use std::path::PathBuf;
 use tracing::{error, info};
+use tracing_subscriber::prelude::*;
+use tracing_subscriber::{filter::LevelFilter, fmt};
 
 #[tokio::main]
 async fn main() {
     // Initialize logging
-    tracing_subscriber::fmt()
-        .with_env_filter(tracing_subscriber::EnvFilter::from_default_env())
+    let fmt_layer = fmt::layer()
+        .with_file(true)
+        .with_target(false)
+        .with_line_number(true)
+        .with_writer(std::io::stderr)
+        .without_time();
+    // Attempts to get the value of RUST_LOG
+    // which can be error, warn, info, debug, trace.
+    // If unset, it uses "info"
+    let filter_layer = match std::env::var("RUST_LOG") {
+        Ok(val) => {
+            if val.contains("trace") {
+                LevelFilter::TRACE
+            } else if val.contains("debug") {
+                LevelFilter::DEBUG
+            } else if val.contains("info") {
+                LevelFilter::INFO
+            } else if val.contains("warn") {
+                LevelFilter::WARN
+            } else if val.contains("error") {
+                LevelFilter::ERROR
+            } else {
+                LevelFilter::INFO
+            }
+        },
+        Err(_) => LevelFilter::INFO,
+    };
+    tracing_subscriber::registry()
+        .with(filter_layer)
+        .with(fmt_layer)
         .init();
 
     // Parse command line arguments
--- a/rudof_cli/src/main.rs
+++ b/rudof_cli/src/main.rs
@@ -38,7 +38,7 @@
 use std::result::Result::Ok;
 // use tracing::level_filters::LevelFilter;
 use tracing_subscriber::prelude::*;
-use tracing_subscriber::{filter::EnvFilter, fmt};
+use tracing_subscriber::{filter::LevelFilter, fmt};
 
 #[allow(unused_variables)]
 fn main() -> Result<()> {
@@ -56,10 +56,27 @@
         .with_writer(io::stderr)
         .without_time();
 
-    // Attempts to get the value of RUST_LOG which can be info, debug, trace, If unset, it uses "info"
-    let env_filter = EnvFilter::try_from_default_env()
-        .or_else(|_| EnvFilter::try_new("info"))
-        .unwrap();
+    // Attempts to get the value of RUST_LOG
+    // which can be error, warn, info, debug, trace.
+    // If unset, it uses "info"
+    let env_filter = match std::env::var("RUST_LOG") {
+        Ok(val) => {
+            if val.contains("trace") {
+                LevelFilter::TRACE
+            } else if val.contains("debug") {
+                LevelFilter::DEBUG
+            } else if val.contains("info") {
+                LevelFilter::INFO
+            } else if val.contains("warn") {
+                LevelFilter::WARN
+            } else if val.contains("error") {
+                LevelFilter::ERROR
+            } else {
+                LevelFilter::INFO
+            }
+        },
+        Err(_) => LevelFilter::INFO,
+    };
     /*let env_filter = EnvFilter::builder()
     .with_default_directive(LevelFilter::INFO.into())
     .parse_lossy("rudof=info,shacl_validation=info,shacl_ir=debug,hyper=off,reqwest=off");*/