From ba9f01b3cbf990297340ffe43faf56dffd76e196 Mon Sep 17 00:00:00 2001 From: DragonSlayer_14 Date: Wed, 20 Aug 2025 15:21:12 +0200 Subject: [PATCH] Ref: Lagert program_name() aus. --- src/log.rs | 16 ++-------------- src/program.rs | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 14 deletions(-) create mode 100644 src/program.rs diff --git a/src/log.rs b/src/log.rs index 50d335f..c60e43e 100644 --- a/src/log.rs +++ b/src/log.rs @@ -27,6 +27,7 @@ use std::io::{stdout, IsTerminal, Write}; use std::sync::{Mutex, OnceLock}; use time::{macros::format_description, OffsetDateTime}; +use crate::program; /// Schweregrade für Logeinträge in aufsteigender Detailtiefe. /// @@ -188,7 +189,7 @@ fn get_or_init_log_file() -> &'static Mutex> { /// Fehler: /// - Gibt I/O-Fehler unverändert weiter (z. B. beim Erstellen des Ordners oder Öffnen der Datei). fn open_log_file() -> std::io::Result { - let program = program_name(); + let program = program::program_name(); let rand = "13692bbf-a93b-43e9-9cc6-f05f94a8cfb6"; let mut dir = env::temp_dir(); @@ -209,16 +210,3 @@ fn open_log_file() -> std::io::Result { .append(true) .open(dir) } - -/// Liefert den Programmnamen (Dateistamm der aktuellen ausführbaren Datei). -/// -/// Rückgabe: -/// - Dateistamm der aktuellen Executable als `String`. -/// - Fallback `"app"`, wenn der Name nicht ermittelt werden kann. -fn program_name() -> String { - env::current_exe() - .ok() - .and_then(|p| p.file_stem().map(|s| s.to_string_lossy().to_string())) - .filter(|s| !s.is_empty()) - .unwrap_or_else(|| "app".to_string()) -} diff --git a/src/program.rs b/src/program.rs new file mode 100644 index 0000000..8847199 --- /dev/null +++ b/src/program.rs @@ -0,0 +1,14 @@ +use std::env; + +/// Liefert den Programmnamen (Dateistamm der aktuellen ausführbaren Datei). +/// +/// Rückgabe: +/// - Dateistamm der aktuellen Executable als `String`. +/// - Fallback `"app"`, wenn der Name nicht ermittelt werden kann. +pub(crate) fn program_name() -> String { + env::current_exe() + .ok() + .and_then(|p| p.file_stem().map(|s| s.to_string_lossy().to_string())) + .filter(|s| !s.is_empty()) + .unwrap_or_else(|| "app".to_string()) +}