Prisma Rust Clientで実行ログを表示する

2023-05-14

仕事と趣味でやっている技術領域が違いすぎて投稿内容に全く統一性がなく、ブログの方向性が見えないが とりあえず今日も今日とて書いていく。

Prisma Client Rustで実際に実行されたログの叩き方がわからなかったので調査した。

ちなみに、Prisma Client RustはPrismaというORMのRustクライアント。 本家のJavascript/Typescriptクライアントと構造は同じでクライアントがprisma engineという中間層経由でDBMSとやりとりをする。

TL; DR;

  1. tracingtracing-subscriberのcrateを入れる.
  2. 実行コードの先頭で tracing_subscriber::fmt::init();を記述
  3. RUST_LOG=quaint=debug LOG_QUERIES=1 cargo run でログを有効にしで実行.

tracingtracing-subscriber crateの導入

Rust Prisma Clientは内部的にtracingというログライブラリを使用しているためログ出力側もtracingを使う必要がある.

cargo add tracing tracing-subscriber

ロガーの登録

部分的に別のロガーを使うといったこともできるようだが、 今回は簡単のためtracing_subscriber::fmt::init(); でグローバルなロガーを登録.

ログの有効化