이 log4j2.xml 파일 시스템 속성에 의해 정의 된 파일 이름/파일 경로와 로거를 정의 쉽게 소리. 당신을 programm에서
<appenders>
<File name="MyFile" fileName="${sys:logFilename}.log">
<PatternLayout pattern="%d{${datestamp}} [%t] %-5level %logger{36} - %msg%n"/>
</File>
</appenders>
은 파일 이름에 대한 구성 파일에 사용되는 키와 시스템 프로퍼티에 저장, 사용자 입력에서 파일 이름을 읽어 보시기 바랍니다. 컨텍스트를 업데이트하여 구성 파일을 다시로드하십시오. -> 파일 이름은 런타임에 동적으로 생성됩니다.
String filnameInput = "GetInputLikeYouWantIt";
System.setProperty("logFilename", filnameInput);
//update the Logger context to relead the filename with the lookup
LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
ctx.reconfigure();
thats log4j. 나는 log4j2 ...... –
logback이 필요하다. 비교를해라. 나는 왜 내가 log4j2를 고집하기로 결심했는지 말할 수 없었다. –
제 잘못입니다. 나는 log4j 다음에 '2'를 알지 못한다. 어쨌든 log4j2를 사용하지는 않았지만 구성에 수정이 없을 것이라고 확신합니다. Logback을 살펴볼 수도 있습니다. 그것은 굉장! –