다음과 같은 문제가 있습니다 : How to set the log level to DEBUG during Junit tests? - Log4j가 아닌 java.util.logging
으로 작업하고 있습니다.J.U.L.을 구성하는 방법 JUnit 테스트 중 로깅?
특히, 고객 요구 사항 (협상 가능하지 않음)을 준수하기 위해 Log4j의 기존 (메이븐 내장) 애플리케이션을 java.util.logging
으로 변환합니다. 모든 것이 SLF4J를 사용하므로 코드 변경이 최소화됩니다. 몇 개의 모듈에 퍼져있는 수천 가지의 테스트 클래스가 있습니다. 현재 해당 모듈의 src/test/resources
에 log4j.properties
파일이있어 테스트 로그 출력을 사용자 정의합니다.
개발자가 테스트를 중단하고 로그 출력을 읽으려는 경우, 로그 구성을 로컬에서 조정하는 것이 (신중하게 선택한 것보다) 선호하는 것이 좋을 것입니다.) 로그 레벨을 코드에 기록하면 "모든 정보에 기록 된"증후군이 발생합니다. 테스트 로그 config가 "테스트 조건에서 실행될 때 test + 응용 프로그램 코드"에 적용되도록합니다.
수많은 테스트 때문에 로그 클래스를 각 테스트 클래스 (여기에 제안 된대로 : How to set the Loglevel for a JUnit Test)에 추가하지 않으려합니다. 그것은 잘못된 해결책 인 것 같습니다. 또한 JVM의 logging.properties
파일을 편집하려고하지 않으므로 모든 것에 영향을 미칩니다. 이 앱 만 내가하는 유일한 것이 아닙니다. 나는 또한 모든 사람들이 똑같은 변화를 이루도록해야 할 것입니다.
Log4j가 클래스 경로에서 /log4j.properties
을 선택하기 때문에 기존 시스템이 작동합니다. java.util.logging
에 해당하는 메커니즘이 있습니까?
현재 생각 : 기존 설정을 바꾸기 위해 logging.properties
파일을 추가하고 Maven 설정을 해킹하여 java.util.logging.config.file
매개 변수를 가리 키도록 설정합니다. 더 좋은 방법이 있습니까?
감사합니다! 산만 해지는 구름과 싸울 수 있다면 이번 주에 시험해 보길 바랍니다 .... – SusanW
자, 마침내 그걸 가지고 놀았고, 프로젝트 전체에서 Maven을 설정하여 java.util.logging.config.file 파일을 추가했습니다. 내 질문에 메모를 추가하여 세부 정보를 보여 드리겠습니다. 감사! – SusanW