feat: Cache-Status-Anzeige mit Alter und TTL
- Cache-Hit: Zeigt Alter der Daten (z.B. '2m 30s / TTL: 5m') - Cache-Miss: Zeigt 'Cache veraltet — Live-Reload...' vor dem Fetch - Console-Ausgabe statt nur tracing::debug für bessere UX - Konsistente Formatierung mit 📦 und ⏰ Emojis
This commit is contained in:
Generated
+1
-1
@@ -4,7 +4,7 @@ version = 3
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "aegisaur"
|
name = "aegisaur"
|
||||||
version = "0.1.0"
|
version = "2.0.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"chrono",
|
"chrono",
|
||||||
|
|||||||
+8
-1
@@ -201,8 +201,15 @@ impl IocFetcher {
|
|||||||
let content = fs::read_to_string(&cache_file).await?;
|
let content = fs::read_to_string(&cache_file).await?;
|
||||||
let iocs: Vec<IocEntry> = serde_json::from_str(&content)
|
let iocs: Vec<IocEntry> = serde_json::from_str(&content)
|
||||||
.context("Konnte Cache nicht parsen")?;
|
.context("Konnte Cache nicht parsen")?;
|
||||||
debug!("{} IOCs aus Cache geladen (Alter: {}s)", iocs.len(), age.num_seconds());
|
|
||||||
|
let age_minutes = age.num_seconds() / 60;
|
||||||
|
let age_seconds = age.num_seconds() % 60;
|
||||||
|
|
||||||
|
println!("📦 {} IOCs aus Cache (Alter: {}m {}s / TTL: 5m)", iocs.len(), age_minutes, age_seconds);
|
||||||
|
|
||||||
return Ok(iocs);
|
return Ok(iocs);
|
||||||
|
} else {
|
||||||
|
println!("⏰ Cache veraltet ({}m {}s alt) — Live-Reload...", age.num_seconds() / 60, age.num_seconds() % 60);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+8
-1
@@ -67,8 +67,15 @@ enum Commands {
|
|||||||
#[tokio::main]
|
#[tokio::main]
|
||||||
async fn main() -> Result<()> {
|
async fn main() -> Result<()> {
|
||||||
// Logging initialisieren
|
// Logging initialisieren
|
||||||
|
// WICHTIG: Logs werden nur bei direkten Befehlen (nicht im Hook) angezeigt
|
||||||
|
if std::env::var("RUST_LOG").is_err() {
|
||||||
|
std::env::set_var("RUST_LOG", "info");
|
||||||
|
}
|
||||||
tracing_subscriber::fmt()
|
tracing_subscriber::fmt()
|
||||||
.with_env_filter("aegisaur=info")
|
.with_env_filter(tracing_subscriber::EnvFilter::from_default_env())
|
||||||
|
.with_target(false)
|
||||||
|
.with_thread_ids(false)
|
||||||
|
.with_level(true)
|
||||||
.init();
|
.init();
|
||||||
|
|
||||||
let cli = Cli::parse();
|
let cli = Cli::parse();
|
||||||
|
|||||||
Reference in New Issue
Block a user