욱 연구소

슬기로운 개발생활

프로그래밍/Java

JAVA log4j와 log4j2 외부경로 설정

wook-lab 2021. 1. 7. 12:42
반응형

log4j란?

log4j는 자바에서 상황에 맞게 레벨로 나누어 로그를 남길 수 있도록 도와주는 도구라고 할 수 있다.
자바 프로젝트를 *.jar 또는 *.war로 압축하여 사용하게 되는데, *.war의 경우 tomcat과 같은 WAS(Web Application Server)에 배포(또는 압축해제)하여 사용하게 되므로 압축이 해제된 경로를 통해 log4j파일 수정이 가능하다.
그러나 *.jar의 경우 압축을 해제하지 않고 사용하게 되어, log4j파일 수정이 불가하다.

오늘은 log4j설정 파일을 외부에서 즉 절대경로로 읽어오는 방법을 공유하고자 한다.
log4j설정파일의 경우 대표적으로 *.properties와 *.xml 형식을 사용하게 된다.


log4j.properties의 경우

// filePath=파일의 절대경로
PropertyConfigurator.configure(filePath);

log4j.xml의 경우

// filePath=파일의 절대경로
DOMConfigurator.configure(filePath);

필요라이브러리

<!-- Maven dependency -->
<dependency>
  <groupId>log4j</groupId>
  <artifactId>log4j</artifactId>
  <version>1.2.16</version>
</dependency>

log4j2.xml의 경우

LoggerContext context = (LoggerContext) LogManager.getContext(false);
File log4j2XmlFile = new File("해당경로");
context.setConfigLocation(log4j2XmlFile.toURI());

log4j2의 경우 필요라이브러리가 log4j와 좀 다른데, 나중에 다시 정리를 해야겠다. 오늘은 여기까지만..

반응형