logger-ctdra (1.0.5)
Installation
[registry]
default = "gitea"
[registries.gitea]
index = "sparse+https://gitea.creative-dragonslayer.de/api/packages/Rust-Crates/cargo/" # Sparse index
# index = "https://gitea.creative-dragonslayer.de/Rust-Crates/_cargo-index.git" # Git
[net]
git-fetch-with-cli = truecargo add logger-ctdra@1.0.5About this package
Einfaches, threadsicheres Logging-Framework für Rust mit Schweregrad-Filterung, formatierten Ausgaben und automatischer Dateiprotokollierung
Logger (logger-ctdra)
logger-ctdra ist eine leichtgewichtige, threadsichere Logging-Crate für Rust mit Schweregrad-Filterung, formatierten Terminalausgaben und automatischer Dateiprotokollierung.
Merkmale
- Dual-Output: Protokolliert synchron auf die Standard-Streams (
stdout/stderr) und gleichzeitig in tagesbasierte Logdateien (log-YYYY-MM-DD.log). - Schweregrad-Filterung (
LogLevel):Error(1) — Kritische Fehler (Ausgabe aufstderrmit[!]-Präfix)Warn(2) — Warnungen (Ausgabe aufstdoutmit[?]-Präfix)Info(3) — Betriebsinformationen (Ausgabe aufstdoutmit[i]-Präfix)Debug(4) — Diagnoseausgaben (Ausgabe aufstdoutmit[d]-Präfix)
- Threadsicherheit: Dateischreibzugriffe und Konfiguration sind thread-sicher serialisiert.
- Einheitliches Format:
[Präfix][DD.MM.YYYY HH:MM:SS.mmm][LEVEL][Tag]: Nachricht - Flexible Konfiguration:
- Log-Level per Code (
set_log_level), Umgebungsvariable (LOG_LEVELbzw.RUST_LOG) oder Fallback (Info). - Automatisches Ermitteln des Programmnamens via
program-ctdra(mit zufälligem Fallback-Wert). - Anpassbares Log-Verzeichnis (
set_log_dir) oder automatische Ablage im Temp-Verzeichnis (std::env::temp_dir()).
- Log-Level per Code (
Installation
Aus der Gitea Cargo Package Registry
Füge die Gitea-Registry zu deiner ~/.cargo/config.toml hinzu:
[registries.gitea]
index = "sparse+https://gitea.creative-dragonslayer.de/api/packages/Rust-Crates/cargo/"
Füge anschließend die Abhängigkeit in deiner Cargo.toml ein:
[dependencies]
logger-ctdra = { version = "1.0.1", registry = "gitea" }
Alternativ als Git- oder Pfad-Abhängigkeit:
[dependencies]
logger-ctdra = { git = "https://gitea.creative-dragonslayer.de/Rust-Crates/logger.git", branch = "main" }
# oder lokal:
# logger-ctdra = { path = "../Logger" }
Verwendung
Grundlegendes Beispiel
use logger_ctdra::{log, set_log_level, LogLevel};
fn main() {
// Optional: Log-Level setzen (Standard: Info)
set_log_level(LogLevel::Debug);
log("main", "Anwendung gestartet", LogLevel::Info);
log("network", "Verbindung hergestellt", LogLevel::Debug);
log("auth", "Ungültiger Token erhalten", LogLevel::Warn);
log("database", "Verbindung zur Datenbank fehlgeschlagen!", LogLevel::Error);
}
Hilfsfunktionen
Für häufige Aufrufe stehen direkte Hilfsfunktionen zur Verfügung:
use logger_ctdra::{debug, error, info, warn};
fn run() {
info("service", "Dienst bereit");
debug("service", "Debug-Details");
warn("service", "Ressourcen fast erschöpft");
error("service", "Kritischer Fehler!");
}
Konfiguration des Logpfads
use logger_ctdra::set_log_dir;
use std::path::PathBuf;
fn init() {
// Individuelles Logverzeichnis vorgeben:
set_log_dir(PathBuf::from("/var/log/my-service"));
}
Entwicklung und Tests
# Überprüfen
cargo check --all-targets
# Tests ausführen
cargo test
# Release kompilieren
cargo build --release
# Crate paketieren
cargo package
Lizenz
Dieses Projekt ist unter der GNU General Public License v3.0 oder neuer lizenziert (GPL-3.0-or-later). Siehe LICENSE.
Dependencies
| ID | Version |
|---|---|
| program-ctdra | ^1.0.0 |
| time | ^0.3.55 |
Details
2026-09-13 12:46:12 +00:00
Assets (1)
Versions (5)
View all
Cargo
14
DragonSlayer_14
GPL-3.0-or-later
34 KiB
logger-ctdra-1.0.5.crate
34 KiB