Rust-Crates

logger-ctdra (1.0.5)

Published 2026-09-13 12:46:12 +00:00 by Gitea-Bot in Rust-Crates/logger

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 = true
cargo add logger-ctdra@1.0.5

About 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 auf stderr mit [!]-Präfix)
    • Warn (2) — Warnungen (Ausgabe auf stdout mit [?]-Präfix)
    • Info (3) — Betriebsinformationen (Ausgabe auf stdout mit [i]-Präfix)
    • Debug (4) — Diagnoseausgaben (Ausgabe auf stdout mit [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_LEVEL bzw. 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()).

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
Cargo
2026-09-13 12:46:12 +00:00
14
DragonSlayer_14
GPL-3.0-or-later
34 KiB
Assets (1)
Versions (5) View all
1.1.0 2026-09-20
1.0.5 2026-09-13
1.0.4 2026-09-12
1.0.3 2026-08-26
1.0.2 2026-08-26