質問: node.js+express4で簡単なAPIを作成して、log4jsでアクセスログ、システムログ、エラーログを出力するように実装しました。 それで、ログを見やすくするために、処理毎にIDを振ろうと思い、とりあえずunixtimeをID代わりに振ってみたのですが、もっと良いものは無いか探しています。 例えば、node.js側でAPIにリクエストが送られる度に割り振る、処理IDのようなものは無いのでしょうか? もし御存知でしたら、ご教示いただけないでしょうか。 よろしくお願いします。
回答: ちょっと古いご質問ですが、最近ちょうどおっしゃっているような仕組みを実装をしましたので回答します。 まず、私の知る限りNode.js自体にはリクエストIDはありません。 また、リクエストIDは実際にはnginxなどリクエストをnode.jsより先に受け取るシステムが振って、X-Request-Idなどのヘッダでnode.jsに渡すことが多いです。 なお、Node.jsアプリ内でもランダムバイトやUUIDv4などでリクエストIDを振ることは外部のモジュールをインストールすれば比較的容易に実現可能です。 ちなみにログ出力の方が非同期処理があるので難しいです。そのあたりは下記URLに詳しくまとめましたので参考にして下さい。