본문 바로가기
슬기로운 자바 개발자 생활/Java more

자바 파일에서 log4j 설정방법 <스프링말고 웹말고^^>

by 슬기로운 동네 형 2017. 7. 18.
반응형

한창 자바 공부중인데... 18자를 타이핑하기 싫다

System.out.println(); <-- 이거


그래서 인텔리J를 쓰니..메이븐을 붙여서 pom.xml 설정하면 왠지 될거 같아서...

 

1. 프로젝트 폴더 마우스우클릭 후 Add framework Support 선택



2. 목록창에서 메이븐 체크... 그러면. 폴더내에 pom.xml이 생성됩니다.

 

pom.xml 파일 열어서 디펜던시 추가

 

<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>

 

 

마지막으로 resource 파일에 옵션을 설정 해줍니다.

 

옵션(property) 내용은 이정도로~~


log4j.rootLogger=info, stdout, logfile

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p (%C{2}:%L) - %m%n

log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.DatePattern='.'yyyy-MM-dd
log4j.appender.logfile.File=D:\\path/application.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] %5p (%C{2} - %M:%L) - %m%n
log4j.appender.logfile.Append=true

만약 Property 파일을 설정 안하면...

property 설정하라고 콘솔에 뜹니다.

하지만...

BasicConfigurator.configure(); 를 선언해주면 디폴트로 log.info()메서드를 사용가능.

 

static final Logger log = Logger.getLogger(현재클래스명.class);

 

public class DateMethod {

static final Logger log = Logger.getLogger(DateMethod.class);

public static void main(String[] args) throws InterruptedException{

BasicConfigurator.configure();

LocalDate localDate = LocalDate.now();

log.info("현재년월 : " + localDate);

log.info("현재년도" + localDate.getYear());
log.info("현재월 : " + localDate.getMonth());
log.info("현재월 : " + localDate.getMonthValue());



}

그래서... 하고 싶은 말은~

 

 

프로젝트에서 log4를 사용하면 SQL 실행 쿼리나 기타 연계 로그를 확인 할때 꽤 유용했는데...

프로젝트 팀원들이 설정 해준 환경에서 반복 적으로 SQL짜고 로직짜고 imp 짜고 머 Controller 짜고 이러다 보니... 그냥 집에서 코딩 연습할떄 사용해보고 싶어... 설정 해봅니다. 

 
반응형

댓글