로그 파일 이름이 $ {System-name} log.log와 같아야하는 log4j 구성이 필요합니다. 즉, 응용 프로그램이 모든 시스템에서 실행되고 구성 파일이나 코드를 변경하지 않은 경우입니다. 언급 한대로 로그 파일 이름을 생성해야합니다. 덕분에 . 와log4j 로그 파일을 동적으로 변경하는 방법은 무엇입니까?
<param name="File" value="${my.logsDir}Default.log"/>d
로그 파일 이름이 $ {System-name} log.log와 같아야하는 log4j 구성이 필요합니다. 즉, 응용 프로그램이 모든 시스템에서 실행되고 구성 파일이나 코드를 변경하지 않은 경우입니다. 언급 한대로 로그 파일 이름을 생성해야합니다. 덕분에 . 와log4j 로그 파일을 동적으로 변경하는 방법은 무엇입니까?
<param name="File" value="${my.logsDir}Default.log"/>d
나는 이런 식으로 할 ${property}
구문입니다. System의 API를 참조하거나 System.getProperties().list(System.out)
로 나열 기본 속성의 전체 목록
"os.arch" Operating system architecture
"os.name" Operating system name
"os.version" Operating system version
포함 기본적으로 정의 된 시스템 특성의 여러 가지가 있습니다.
기본 속성을 사용하지 않으면 System.setProperty(property, value)
을 사용하여 자신 만의 속성을 추가해야합니다.
log4j.xml 파일의 관련 상대 경로를 설정하는 방법을 알려주십시오. 예 : 절대 경로가 아닌 DOMConfigurator.configure ("../ log4j.xml"). 감사. – Channa
작성한대로 상대 경로를 정확하게 설정할 수 있습니다 ("../log4j.xml"). log4j.xml은 작업 디렉토리와 상대적으로 다릅니다. –
의견에 감사드립니다. 나는 ContextClassLoader로 다음과 같이 얻었습니다. DOMConfigurator.configure (Thread.currentThread(). getContextClassLoader.getResource ("."). getPath() + "log4j.xml") – Channa
사용할 수있는 Java 시스템 등록 정보 : 내가 변수를 사용의 log4j.xml에
System.setProperty("my.logsDir", vcsLogsDir);
DOMConfigurator.configure("c:/log4j.xml");
2) :
1) 초기화 로거 :
참조 : http://stackoverflow.com/questions/201188/using-system-environment-variables-in-log4j-xml-configuration –