web에서 log4j.properties파일을 배치하는 곳은 기본적으로 "/WEB-INF/classes/log4j.properties"에 배치합니다.

log4j.properites파일을 다른곳에 넣고 참조하게 시킬려면 어떻게 할까요?

패스만 바꿔주면 될것 같은데.....

어떻게 해야 할지 몰라서 또 헤맸습니다. ㅜㅜ


찾아보니 또 영문으로 되어있네요...^^ㅋ

시간 나시는 분들은 아래의 메뉴얼을 참조하세요.

http://logging.apache.org/log4j/1.2/manual.html


방법은 두가지가 있는데 자바 소스에 직접 패스를 설정하는 방법과 어플리케이션 실행시 Java옵션에 추가 하는방법이 있습니다.


첫번째, 자바 소스에 직접 설정하는 방법은 아래와 같습니다.

import org.apache.log4j.Logger;
 import org.apache.log4j.PropertyConfigurator;
 
 public class MyApp {
 
   static Logger logger = Logger.getLogger(MyApp.class.getName());
 
   public static void main(String[] args) {
 
 
     // BasicConfigurator replaced with PropertyConfigurator.
     PropertyConfigurator.configure(args[0]);
 
     logger.info("Entering application.");
     Bar bar = new Bar();
     bar.doIt();
     logger.info("Exiting application.");
   }
 }

PropertyConfigurator.configure("파일 패스") <-- 이런식으로 소스에 직접 파일패스를 설정 할수 있습니다.




두번째 자바 옵션 방법은 프로그램 실행시 옵션에 아래와 같이 추가합니다.

-Dlog4j.configuration=file:/c:/foobar.properties

ex) java -Dlog4j.configuration=file:/c:foobar.properties  -jar foobar.jar



개인적으론 두번째 방법을 추천합니다.

정말 고정이고 패스가 바뀌지 않는다면 첫번째도 괜찮지만... 경험상으로 봐선 어쩔수 없이 바꿔야 할때도 있어서...

쉽게 바꿀수 있는 두번째방법이 좋지 않을까 합니다.

감사합니다.