본문 바로가기

IT공부/SPRING

mybatis에서 로그를 보기위해 Log4j 설치하기.

mybatis에서 로그를 안보여주기때문에 로그를 보기위해 Apache Log4j를 설치해준다.


개발할때는 println을 찍어서 볼수있지만 사실상 실무에서는 서버를 따로두기때문에 println은 사용하면 안된다.


그렇기때문에 로그를 찍어주는 log4j를 설치한다.


log4j는 log for java를 뜻한다.


http://logging.apache.org/log4j/1.2/download.html 이곳에서 설치가 가능


현재 log4j2 가 나왔지만 spring에서 1버전을 사용하기때문에 log4j1 버전을 다운받는다


log4j-1.2.17.jar

log4j.xml



jar 파일을 WEB-INF/lib에 넣어준다.

설정파일인 log4j.xml은 src에 넣어주면 자동으로 잡힌다.


Logger(category) 

로깅 메세지를 Appender에 전달. 

log4j의 중심부에 위치.

개발자가 직접 로그 출력 여부를 런타임에 조정


Appender 

로그의 출력위치를 결정(파일, 콘솔, DB 등등)


Layout 

Appender가 어디에 출력할건지 결정했다면 어떤 형식으로 출력할지 정해준다 printf와 비슷하다.



로그4j레벨

Fatal: 아주 심각한 에러가 발생한 상태.


Error: 요청 처리중 발생한 상태


Warn: 처리 가능한 문제지만, 향후 시스템에러의 원인이 될수있는 경고메세지.


Info: 로그인, 상태변경과 같은 정보성 메시지(주로 사용)


Debug: 개발시 디버그 용도로 사용한 메세지(주로 사용)


Trace: log4j.1.2 12에서 신규 추가된 레벨. Debug레벨이 너무 광범위한 것을 해결하기 위해서 좀더 상세한 상태를 나타냄

거의 사용하지는 않음, 깊이 들어가기때문에 



FileAppender

파일에 로그메시지를 기록하는데 사용하다보면 파일이 크기가 너무 커지면 시스템이 죽어버리기때문에 잘 사용하지 않는다


RollingFileAppender

사이즈를 조정가능하다. 파일크기가 일정 수준이상이 되면 기존파일을 백업파일로 바꾸고 처음부터 다시 기록


DailyRollingFileAppender

일정 기간 단위로 로그 파일을 생성하고 기록하기때문에 가장 많이 쓰인다.



위에 설정파일에서는 ConsoleAppender, DailyRollingFileAppender를 사용했다.


원하는 설정대로 설정을 해주면 된다.



<appender name="console" class="org.apache.log4j.ConsoleAppender"> <param name="Target" value="System.out" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-5p: %c - %m%n" /> </layout> </appender> <appender name="logfile" class="org.apache.log4j.DailyRollingFileAppender"> <param name="file" value="mylog/application.log"/> <param name="Append" value="true"/> <param name="DatePattern" value="'.'yyyy-MM-dd"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%t] %-17c{2} (%13F:%L) %3x - %m%n"/> </layout> </appender>


밑에 logger는 본인의 경로를 설정해주면 된다.

<logger name="com.study"> <level value="debug" /> </logger>


'IT공부 > SPRING' 카테고리의 다른 글

DI AOP MVC  (0) 2019.08.09
스프링 4회차.  (0) 2019.08.07
BoardDao를 BoardMapper로 바꿔준다.  (0) 2019.08.05
스프링 2회차.  (0) 2019.08.05
MyBatis이용한 기존 쿼리문 변경.  (0) 2019.08.02