2012-03-01 2 views
1

MongoDB를 로그 저장소로 조사 중입니다. 기본 MongoDB 서버를 설정하고 Log4j를 구성하면 모든 것이 제대로 된 것처럼 보입니다. 그러나log4j + MongoDB에서 이벤트 순서 유지

:

  • 내가 MongoDB를 쓰기 작업이 비동기 것을 알고 있어요 (내가 그들에게 동기하여 성능을 죽이고 싶지 않아)는
  • 로그 레코드의 타임 스탬프는 정확한 것으로 보인다
  • 내 응용 프로그램 로그 번 밀리 나는 이벤트가 기록 된 순서를 볼 수 있어야합니다
  • 당보다 밀리 초에

좀 더 세분화 된 타임 스탬프를 얻을 수있는 방법이 있습니까?

클라이언트 측에서 일련 번호를 삽입 할 수있는 방법이 있습니까 (클라이언트가 로그 메시지에 넣지 않아도됩니까)?

답변

1

쓰기 잠금이 프로세스 와이드이므로 MongoDB 삽입은 순차적입니다. 따라서 여러분은 MongoDB가 로그 항목을받은 순서대로 반환한다는 보장을 받게됩니다. sort ({$ natural : 1})을 사용하면 순서대로 다시 가져올 수 있습니다.

쓰기는 비동기이지만 순서가 지정됩니다.

+0

음 * 그 *는 좋은 소식입니다. 감사. – slim

+0

문제 없습니다, 행운을 빕니다;) –

+0

샤르 드 환경에 로그인하는 경우 알려주십시오. 이 경우 고려해야 할 몇 가지 사항이 있습니다. –