# Rack::RequestId の Perl版 Plack::Middleware::RequestId {{tag: perl, plack, development}} リクエストごとにユニークな ID を発行して、ログファイルやなんかにそれを入れておくとgrep ビリティあがって楽ですよねという Rack::RequestId を Plack に移植して {{cpan: Plack::Middleware::RequestId}} 書いた。 enable 'RequestId'; リクエストごとに `$env->{'psgix.request_id'}` に ID が格納されてるので、Request クラスで参照できるようにしといたり、ログファイル書くときに必ず ID が書かれるようにしておくとうれしみが増す。デフォルトで HTTP レスポンスヘッダにも ID が入るようになってるので、横取りしてアクセスログに書いたりしてもいいかもしれない。オプションで任意の環境変数にもストアすることもできるし、`$Plack::Middleware::RequestId::request_id` というグローバルに参照できる変数にも実はストアされてるので、どこからでも参照可能なようにしている。 IDの生成ルーチン独自にしたいとか、もろもろストアのキー変更したいというのもオプションで対応できるので詳しくは POD 参照してみてください。