S-JIS[2024-09-28/2025-02-01] 変更履歴

Rust logメモ

Rustlogと共に使用されるenv_loggerクレートのメモ。


概要

env_loggerは、Rustでログ出力を行うクレート(ライブラリー)。

環境変数RUST_LOGにログレベルを指定することで、そのログレベル以上のログメッセージがコンソールに出力される。
RUST_LOGを定義しない場合はerrorログのみ出力される。


Cargo.toml:

〜

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

一緒にlogクレートもdependenciesに入れる必要がある。


use log::{debug, error, info, trace, warn};
    env_logger::init();

    trace!("trace log");
    debug!("debug log");
    info!("info log");
    warn!("warn log");
    error!("error log");

env_logger::init()を呼んでおかないと、コンソールに何も出力されない。

env_loggerの初期化方法


実行例

$ export RUST_LOG=info
$ cargo run
[2024-09-28T03:25:13Z INFO  rust_example1] info log
[2024-09-28T03:25:13Z WARN  rust_example1] warn log
[2024-09-28T03:25:13Z ERROR rust_example1] error log

env_loggerの初期化方法

env_loggerを初期化する方法の例。[2025-02-01]

説明
env_logger::init(); 初期化に失敗した場合はパニックが発生する。
env_logger::try_init().expect("error"); 初期化失敗時のエラーを取得できる。
env_logger::builder().is_test(true).init(); テストの実行用。
env_logger::builder().format_timestamp_millis().init(); 時刻にミリ秒まで出力する。

logへ戻る / Rustへ戻る / 技術メモへ戻る
メールの送信先:ひしだま