refactor logging

This commit is contained in:
monosans
2025-04-14 14:03:33 +03:00
parent 82d84e0da3
commit 699ee2ca3a
7 changed files with 7 additions and 42 deletions
-1
View File
@@ -182,7 +182,6 @@ jobs:
matrix:
features:
- "--features tui"
- "--features logger"
- ""
fail-fast: false
env:
+1 -3
View File
@@ -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
View File
@@ -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 .
-24
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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(