2013-07-12 2 views
0

라이브 또는 히스토리 시뮬레이션 모드에서 실행할 수있는 코드를 작성하고 있습니다. 로깅을 위해 log4j2를 사용하고 있으며 각 로그 메시지의 일부로 날짜와 시간을 인쇄하고 있습니다. 라이브 모드에서 코드를 실행할 때 매우 잘 작동합니다. 그러나 역사적 시뮬레이션 모드에서 코드를 실행할 때 실제 벽시계 날짜 및 시간 대신 로그 메시지에서 기록 날짜 및 시간을 가져오고 싶습니다. log4j2에서 날짜 동작을 변경하는 가장 좋은 방법은 무엇입니까?log4j2의 날짜 클래스를 대체합니다.

감사

답변

0

가이 작업을 수행하는 더 좋은 방법,하지만 난 log4j2의 비동기 로거 및 사용자 정의 시계 클래스 사용 log4j2에 사용 된 날짜 클래스 변경 관리 있습니다 log4j2의의를 구현하는 클래스를 작성

먼저 클럭 클래스 1, 예를 들어 org.my.date. 다음으로 jvm에 다음 코드를 전달하여 코드를 실행하십시오.

-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector   -Dlog4j.Clock=org.my.date