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:
Thuumate 👻
2026-06-15 19:36:46 +02:00
parent 48724d860e
commit baf5c0277a
3 changed files with 17 additions and 3 deletions
Generated
+1 -1
View File
@@ -4,7 +4,7 @@ version = 3
[[package]]
name = "aegisaur"
version = "0.1.0"
version = "2.0.0"
dependencies = [
"anyhow",
"chrono",
+8 -1
View File
@@ -201,8 +201,15 @@ impl IocFetcher {
let content = fs::read_to_string(&cache_file).await?;
let iocs: Vec<IocEntry> = serde_json::from_str(&content)
.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);
} else {
println!("⏰ Cache veraltet ({}m {}s alt) — Live-Reload...", age.num_seconds() / 60, age.num_seconds() % 60);
}
}
+8 -1
View File
@@ -67,8 +67,15 @@ enum Commands {
#[tokio::main]
async fn main() -> Result<()> {
// 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()
.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();
let cli = Cli::parse();