Java에서 어떻게 동적 버전 정보를 로그 파일에 포함시킬 수 있습니까?
Java 응용 프로그램에서 다음과 같이 사용자 정의 로깅 프레임 워크를 사용하여 문자열을 기록 할 수 있습니다.logger.info("Version 1.2 of the application is currently running");
따라서 사용자가 로그 파일을 보내면 실행중인 응용 프로그램의 버전을 쉽게 볼 수 있습니다.
위의 코드의 문제점은 버전이 문자열 리터럴에 하드 코드되어 누군가가 모든 릴리스에 대해 버전을 업데이트해야한다는 것을 기억해야한다는 것입니다. 이 문자열을 업데이트하는 것이 릴리스에 대해 잊어 버릴 수 있음은 상당히 피할 수없는 일입니다.
응용 프로그램의 JAR에 대한 매니페스트 파일의 버전 번호 중 하나를 기반으로이 문자열 리터럴이 자동으로 업데이트됩니다.
Specification-Version: 1.2
Implementation-Version: 1.2.0.0
이 문제가 컴파일시 발생하면 괜찮습니다. 런타임 또는 버전 번호가 로그 파일에있는 한.
이유는 모르겠지만이 경우 null이 반환됩니다. 생성 된 JAR에서 매니페스트를 확인했으며 버전 정보를 가지고 있습니다. 어떤 아이디어? – Iain
물론 "SomeClass"는 해당 병에서로드해야합니다. –
SSCCE (http://sscce.org/)를 제공 할 수 있습니까? –