2017-05-12 2 views
1

log4j2에서 요소에 대해 monitorInterval 속성을 사용할 수 있습니다. 이 속성의 성능 영향에 대해 읽으려고 시도했지만 어느 소스도 찾을 수 없습니다. 따라서 monitorInterval 속성에 관한 여러 질문을 가지고 있습니다.Log4j2 monitorInterval 성능

  1. 내가 알고 싶습니다

    , 그것은 5 (5 초)으로 같은 작은 값을 지정하여이 큰 값의 말을하자 무엇 성능에 미치는 영향 Configuration 요소에 3000 (5 분)로?

  2. 정확히 어떻게됩니까? 즉, 지정된 시간 간격이 경과 할 때마다 자동으로 감지합니다.

  3. 구성 파일 (XML, JSON, YAML, 특성),하지 프로그램 재구성을 통해 바로 구성 를 다시로드 log4j2을 강제로 어떤 방법이 있나요?

답변

2

이전에는 성능에 약간의 영향이 있었던 경우였습니다. 구체적으로 Log4j2는 로그 이벤트를 처리 할 때 구성 파일의 시간을 lastModified 번 확인합니다. 마지막 사건 이후 충분한 시간이 지났을 때만 모든 사건에 대해 그렇게하지 않는 것이 현명했습니다 : monitorInterval 초마다 한 번.

Log4j 2.5와는 다른 점 : 구성 파일의 시간을 가끔씩 깨우고 확인하는 감시자 백그라운드 스레드가 있습니다. 이제 로깅 성능에는 아무런 영향이 없습니다. (이 변경의 이유는 실제로 성능이 아니라 정확성이었습니다. 이전 파일은 롤오버 시간보다 훨씬 오래 걸릴 수있는 항목이 기록 될 때까지 롤오버되지 않았습니다.) 자세한 내용은 https://issues.apache.org/jira/browse/LOG4J2-1202을 참조하십시오.

강제로 구성을 다시로드하려면 구성 파일과 프로그래밍 방식 재구성을 만지지 말고 JMX 인터페이스를 사용할 수 있습니다. 또한 log4j-core의 Configurator 클래스를 살펴보십시오. 재구성을 초래하는 몇 가지 방법이 있습니다.