Поддержание порядка событий в log4j + MongoDB - PullRequest
1 голос
/ 01 марта 2012

Я исследую MongoDB как хранилище журналов. Я установил базовый сервер MongoDB, настроил Log4j, и все, кажется, работает.

Тем не менее:

  • Я знаю, что записи MongoDB являются асинхронными (и я не хочу снижать производительность, делая их синхронными)
  • Временная метка в записях журнала представляется точной только с точностью до миллисекунды
  • Мое приложение регистрируется более одного раза в миллисекунду
  • Мне нужно иметь возможность видеть последовательность, в которой были записаны события

Есть ли способ получить более точные метки времени?

Есть ли способ, которым я могу ввести порядковые номера на стороне клиента (если клиент не поместит их в сообщение журнала)?

1 Ответ

1 голос
/ 01 марта 2012

Вставки MongoDB являются последовательными, поскольку блокировка записи обрабатывается в течение всего процесса.Таким образом, вам гарантировано, что MongoDB вернет записи журнала в том порядке, в котором они были получены.Используйте sort ({$ natural: 1}), чтобы вернуть их в порядок.

Обратите внимание, что, хотя записи асинхронные, они упорядочены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...