2012-03-01 9 views
1

私はMongoDBをログリポジトリとして調べています。私は基本的なMongoDBサーバを設定し、Log4jを設定しました。すべてがうまくいくようです。しかしlog4j + MongoDBのイベントの順序を維持する

  • 私はMongoDBの書き込みが非同期であることを承知している(と私はそれらを同期することによって、パフォーマンスを殺すためにしたくないが)
  • ログレコードのタイムスタンプは正確であるように思われます
  • マイアプリのログを複数回ミリ秒私はイベントが記録された順序を見ることができるようにする必要があり
  • あたりよりミリ秒へ

もっと細かいタイムスタンプを得る方法はありますか?

クライアント側でシーケンス番号を入力できる方法はありますか(クライアントがログメッセージに入力する手間がかかります)?

答えて

1

書き込みロックがプロセス全体であるため、MongoDBの挿入は連続しています。このように、MongoDBは受け取った順にログエントリを返すことが保証されています。ソート({$ natural:1})を使用して順番に戻してください。

書き込みは非同期ですが、順序付けされていることに注意してください。

+0

さて、おはようございます。ありがとう。 – slim

+0

問題なし、幸運;) –

+0

シャード環境にログインしている場合はお知らせください。この場合、考慮すべき点がいくつかあります。 –

関連する問題