refactor logging
This commit is contained in:
@@ -182,7 +182,6 @@ jobs:
|
||||
matrix:
|
||||
features:
|
||||
- "--features tui"
|
||||
- "--features logger"
|
||||
- ""
|
||||
fail-fast: false
|
||||
env:
|
||||
|
||||
+1
-3
@@ -13,7 +13,7 @@ crossterm = { version = "=0.28.1", features = [
|
||||
], optional = true }
|
||||
derivative = "=2.2.0"
|
||||
dirs = "=6.0.0"
|
||||
env_logger = { version = "=0.11.8", optional = true }
|
||||
env_logger = "=0.11.8"
|
||||
fancy-regex = "=0.14.0"
|
||||
futures = "=0.3.31"
|
||||
log = "=0.4.27"
|
||||
@@ -28,8 +28,6 @@ tui-logger = { version = "=0.17.1", optional = true }
|
||||
url = "=2.5.4"
|
||||
|
||||
[features]
|
||||
default = []
|
||||
logger = ["dep:env_logger"]
|
||||
tui = ["dep:crossterm", "dep:ratatui", "dep:tui-logger"]
|
||||
|
||||
[target.'cfg(not(target_os = "android"))'.dependencies]
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ RUN --mount=source=src,target=src \
|
||||
--mount=source=Cargo.lock,target=Cargo.lock \
|
||||
--mount=type=cache,target=/app/target \
|
||||
--mount=type=cache,target=/usr/local/cargo/registry \
|
||||
cargo build --features logger --release --locked \
|
||||
cargo build --release --locked \
|
||||
&& cp target/release/proxy-scraper-checker .
|
||||
|
||||
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
use crate::event::{AppEvent, Event};
|
||||
|
||||
pub(crate) struct DummyUI {}
|
||||
|
||||
impl super::UI for DummyUI {
|
||||
fn new() -> color_eyre::Result<Self> {
|
||||
Ok(Self {})
|
||||
}
|
||||
|
||||
fn set_log_level(_log_level: log::LevelFilter) {}
|
||||
|
||||
async fn run(
|
||||
self,
|
||||
_tx: tokio::sync::mpsc::UnboundedSender<Event>,
|
||||
mut rx: tokio::sync::mpsc::UnboundedReceiver<Event>,
|
||||
) -> color_eyre::Result<()> {
|
||||
while let Some(event) = rx.recv().await {
|
||||
if let Event::App(AppEvent::Done) = event {
|
||||
break;
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
+1
-2
@@ -4,8 +4,7 @@ pub(crate) struct LoggerUI {}
|
||||
|
||||
impl super::UI for LoggerUI {
|
||||
fn new() -> color_eyre::Result<Self> {
|
||||
env_logger::Builder::new().filter_level(log::LevelFilter::Debug).init();
|
||||
Self::set_log_level(log::LevelFilter::Info);
|
||||
env_logger::Builder::new().filter_level(log::LevelFilter::Info).init();
|
||||
Ok(Self {})
|
||||
}
|
||||
|
||||
|
||||
+2
-7
@@ -15,16 +15,11 @@ pub(crate) trait UI {
|
||||
}
|
||||
|
||||
cfg_if::cfg_if! {
|
||||
if #[cfg(all(feature="tui", feature="logger"))] {
|
||||
compile_error!("feature \"logger\" and feature \"tui\" cannot be enaled at the same time");
|
||||
} else if #[cfg(feature="tui" )] {
|
||||
if #[cfg(feature="tui")] {
|
||||
mod tui;
|
||||
pub(crate) use self::tui::Tui as UIImpl;
|
||||
} else if #[cfg(feature = "logger")] {
|
||||
} else {
|
||||
mod logger;
|
||||
pub(crate) use self::logger::LoggerUI as UIImpl;
|
||||
} else {
|
||||
mod dummy;
|
||||
pub(crate) use self::dummy::DummyUI as UIImpl;
|
||||
}
|
||||
}
|
||||
|
||||
+2
-4
@@ -28,16 +28,14 @@ pub(crate) struct Tui {
|
||||
|
||||
impl super::UI for Tui {
|
||||
fn new() -> color_eyre::Result<Self> {
|
||||
tui_logger::init_logger(log::LevelFilter::Debug)
|
||||
tui_logger::init_logger(log::LevelFilter::Info)
|
||||
.wrap_err("failed to initialize logger")?;
|
||||
tui_logger::set_default_level(log::LevelFilter::Debug);
|
||||
Self::set_log_level(log::LevelFilter::Info);
|
||||
tui_logger::set_default_level(log::LevelFilter::Trace);
|
||||
Ok(Self { terminal: ratatui::init() })
|
||||
}
|
||||
|
||||
fn set_log_level(log_level: log::LevelFilter) {
|
||||
log::set_max_level(log_level);
|
||||
tui_logger::set_default_level(log_level);
|
||||
}
|
||||
|
||||
async fn run(
|
||||
|
||||
Reference in New Issue
Block a user