レストベースの API を開発しています。API への各リクエストについて、その特定のリクエストに関する多くの情報をログに記録したいと考えています。たとえば、誰がリクエストを行ったか、どのリソースを要求したか、このクライアントがこのリソースを何回要求したか、どのような情報をクライアントが要求したかを追跡します。などに興味があります。
各リクエストの応答時間に影響を与えずにこれを行うにはどうすればよいですか? 私の考えは、このすべてのログ情報をキャッシュに書き込み、キャッシュの有効期限を 5 分に設定することです。この 5 分間に受信したすべてのリクエストは、同じキャッシュ オブジェクトに書き込まれます。キャッシュが期限切れになると (発生時にコールバックを取得することが可能です)、データベースに書き込みます。
この方法の欠点はありますか? より良い提案はありますか?
PS!組み込みの IIS ログ機能を使用することは、十分に具体的でないため、オプションではありません。
更新: ここで実際に尋ねているのは、CacheItemRemoved コールバックでデータベース アクセスを行う際によく知られている問題があるかどうかです。それは悪い考えですか?