🐕
ログの名前はバイナリからつけると楽
今回もちょっとした小ネタ。コード書く時は絶対 log 使うわけですけど、毎回新しいリポジトリ書くたびに環境名をつけたり、考えたりするの、めんどくさくないですか? めんどくさいんですよ、私は。めんどくさいことは極力したくないのが、人間ですよね。毎回やらなきゃいけないことは全部一回で済ませたい。これが理想です。
logger.rs
use tracing_subscriber::{EnvFilter, fmt, prelude::*};
pub fn init() -> anyhow::Result<()> {
let env_var = format!(
"{}_LOG",
env!("CARGO_PKG_NAME").to_uppercase().replace("-", "_")
);
tracing_subscriber::registry()
.with(fmt::layer())
.with(EnvFilter::from_env(&env_var))
.init();
Ok(())
}
結論書くと、これ。要するに、バイナリの名前から勝手につければええやん、ということです。これの利点は「一切手を加えず、毎回コピペで済む」だけでなく、「ログにつけた名前を忘れる」ということがなくなります。我々の記憶は揮発性なので、過去に作ったコードのログ名なんか覚えていないわけです。大体こんな命名規則だろ、と思うと、違ったりするわけですが。この方式なら明瞭だし、バイナリの名前自体を忘れていても、Cargo.toml
見ればわかるという利点があります。
考える作業をするというのは「考えなくていい作業を増やす」ということでもあるわけで。こうやってコピペポイントを地道に増やしていくと、考えるポイントを局所的にできるので、好きです。ログにこだわりがない人はぜひ、こいつを自分なりに自分なりに改修して、コピペしていきましょう。
Discussion