우리는 병렬로 다른 기능 비트를 동시에 처리 할 수 있도록 스레드를 사용하는 시스템을 가지고 있습니다. 특정 "트랜잭션"에 대한 모든 로그 항목을 함께 묶는 방법을 찾고 싶습니다. 일반적으로, 이들을 함께 모으기 위해 'threadName'을 사용할 수는 있지만 다중 스레드 상황에서는 실패합니다.다중 스레드를 통한 Java 로깅
모든 메소드 호출을 통해 '트랜잭션 키'를 전달하는 것보다 짧아서,이 두 가지를 하나로 묶을 방법이 없습니다. 모든 단일 메서드에 키를 전달하는 것은 단지 추한 것입니다.
또한 Google 시스템은 수정 된 버전으로 빌드되므로 자바 로깅과 관련이 있습니다. 따라서 우리가 시도 할 수있는 다른 플랫폼에 대한 예제가 필요 하겠지만 플랫폼을 전환하는 것은 거의 불가능합니다.
누구에게 의견이 있습니까?
감사합니다,
피터
편집 : 그 모든 워크 플로우 패키지에 의해 처리있어 불행하게도, 나는 스레드의 생성을 제어 할 수 없습니다. 그렇지 않으면 ThreadLocal의 각 스레드마다 ID를 한 번 캐싱 한 다음 새 스레드가 생성 될 때이를 설정하는 것이 좋습니다. 나는 어쨌든 그것을 시도 할 수 있습니다.
당신이/방금 전에 스레드 ID를 재설정하고 작업의 동시 비트를 호출 한 후에 설정할 수 있습니다 (/ 마침내 패턴 시도), 및 그런 다음 로깅을 사용 하시겠습니까? –