강좌 & 팁
글 수 2,412
2013.07.07 15:23:42 (*.52.177.249)
46577
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
개인적으론 두번째 방법을 추천합니다.
정말 고정이고 패스가 바뀌지 않는다면 첫번째도 괜찮지만... 경험상으로 봐선 어쩔수 없이 바꿔야 할때도 있어서...
쉽게 바꿀수 있는 두번째방법이 좋지 않을까 합니다.
감사합니다.