Rust:
Schreiben auf Standardfehler

Wie:

Rust bietet eine unkomplizierte Möglichkeit, mit dem Makro eprintln! auf stderr zu schreiben, ähnlich wie println! für stdout verwendet wird. Hier ist ein einfaches Beispiel:

fn main() {
    eprintln!("Dies ist eine Fehlermeldung!");
}

Beispielausgabe (auf Standardfehler):

Dies ist eine Fehlermeldung!

Für mehr Kontrolle über die Fehlermeldungen, etwa wenn Sie Text formatieren oder I/O-Ergebnisse behandeln möchten, verwenden Sie die Funktion stderr aus dem Modul std::io. Diese Methode bietet einen Handle für den globalen stderr-Stream, auf den Sie dann mit Methoden wie write_all oder writeln aus dem Write-Trait schreiben können:

use std::io::{self, Write};

fn main() {
    let stderr = io::stderr();
    let mut handle = stderr.lock();
    
    writeln!(handle, "Formatierte Fehlermeldung: {}", 404).expect("Fehler beim Schreiben auf stderr");
}

Beispielausgabe (auf Standardfehler):

Formatierte Fehlermeldung: 404

Wenn Sie in Umgebungen oder Anwendungen arbeiten, in denen Sie auf Bibliotheken für das Logging oder die Fehlerbehandlung angewiesen sind, sind Bibliotheken wie log und env_logger beliebt. Obwohl sie mehr für Loggingzwecke verwendet werden, sind sie konfigurierbar und können Fehlerebenen auf stderr leiten. Unten ist ein einfaches Beispiel für die Verwendung von log und env_logger:

Zuerst fügen Sie die Abhängigkeiten zu Ihrer Cargo.toml hinzu:

[dependencies]
log = "0.4"
env_logger = "0.9"

Richten Sie dann das Logging in Ihrer Anwendung ein und verwenden Sie es:

fn main() {
    env_logger::init();
    log::error!("Dies ist eine Fehlermeldung, die auf stderr geloggt wird");
}

Wenn Sie dieses Programm ausführen (nachdem Sie env_logger mit einer geeigneten Umgebungsvariablen eingerichtet haben, zum Beispiel RUST_LOG=error), wird die Fehlermeldung auf stderr ausgegeben, wobei die Logging-Infrastruktur genutzt wird.

ERROR: Dies ist eine Fehlermeldung, die auf stderr geloggt wird