仕事と趣味でやっている技術領域が違いすぎて投稿内容に全く統一性がなく、ブログの方向性が見えないが とりあえず今日も今日とて書いていく。
Prisma Client Rustで実際に実行されたログの叩き方がわからなかったので調査した。
ちなみに、Prisma Client RustはPrismaというORMのRustクライアント。 本家のJavascript/Typescriptクライアントと構造は同じでクライアントがprisma engineという中間層経由でDBMSとやりとりをする。
tracing
とtracing-subscriber
のcrateを入れる.tracing_subscriber::fmt::init();
を記述RUST_LOG=quaint=debug LOG_QUERIES=1 cargo run
でログを有効にしで実行.tracing
とtracing-subscriber
crateの導入Rust Prisma Clientは内部的にtracingというログライブラリを使用しているためログ出力側もtracingを使う必要がある.
cargo add tracing tracing-subscriber
部分的に別のロガーを使うといったこともできるようだが、
今回は簡単のためtracing_subscriber::fmt::init();
でグローバルなロガーを登録.
LOG_QUERIES
を適当な値で設定すればログが出力されるようになる.tracing_subscriber::fmt::init()
は環境変数 RUST_LOG
を使うことによりログのフィルタができる.
RUST_LOG
でquaint=debug
とすることでquaintのDEBUGレベル以上のログだけを出力することができる.