[SPRING BOOT] Spring Boot (Gradle) log4j 환경 셋팅으로 로그 깔끔하게 남기기.

오늘 포스팅은 gradle로 만든 스프링 부트에서 log4j 사용하기 입니다.


1. 아래의 그림처럼 build.gradle을 더블 클릭하여 열어줍니다.




2. dependencies 안에 compile ('org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4:1.16') 추가합니다



3. 2번까지 하시면 우측 하단에 Gradle import 관련하여 물어봅니다.
그럼 Import Changes 를 눌러주세요.




4. application.properties 를 열어줍니다.




5. 아래를 추가해줍니다.
******************************************************************************************
IP : ip로 바꿔주세요.
PORT : 해당 포트로 바꿔주세요.
DATABASE_NAME : 로컬에서 쓰실 데이터베이스 이름으로 바꿔주세요.


spring.datasource.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
spring.datasource.url = jdbc:log4jdbc:mysql://IP:PORT/DATABASE_NAME?useSSL=false
spring.datasource.username = root
spring.datasource.password =


6. 아래 구조와 같이 파일을 생성 해줍니다.




7. log4jdbc.log4j2.Properties 열어 아래 코드 추가해줍니다.

log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.dump.sql.maxlinelength=0
8.logback.xml 열어 아래 코드 추가해줍니다.(sql문 보기 편하기 위함이라 생략 가능)
<?xml version="1.0" encoding="UTF-8"?><configuration>    
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">        
<encoder>       
     <pattern>%d{yyyyMMdd HH:mm:ss.SSS} [%thread] %-3level %logger{5} - %msg %n</pattern>       
</encoder>   
</appender>
    <logger name="jdbc" level="OFF"/>
    <logger name="jdbc.sqlonly" level="INFO" additivity="false">       
       <appender-ref ref="STDOUT" />    </logger>
    <logger name="jdbc.sqltiming" level="DEBUG" additivity="false">     
       <appender-ref ref="STDOUT" />    </logger>
    <logger name="jdbc.resultsettable" level="INFO" additivity="false">  
       <appender-ref ref="STDOUT" />    </logger>
    <root level="INFO">      
  <appender-ref ref="STDOUT" />   
 </root>
</configuration>

9. 실행을 시켜봅니다.

실행시 오류가 난다면 오류 메세지를 읽어주세요. 대부분은  db 연결시 주소를 잘못 적거나 계정 정보가 잘못된 경우가 대부분입니다. 확인해주세요!



10. MainController.java 생성합니다.


11. 아래와 같이 작성한 후 재실행 시켜줍니다.

@RestController@RequestMapping("/main")
public class MainController {

    @GetMapping   

    private String main() {
       Logger logger = LoggerFactory.getLogger(getClass());

       logger.info("TEST", "HELLO LOG4");        return logger.toString();

    }
}




12. 브라우저에 localhost:8080/main 을 검색해봅니다.





스프링 부트(Gradle)에서 log4사용하기 성공입니다!!


댓글

이 블로그의 인기 게시물

[생활] 짝눈(부동시)로 신체검사 4급(공익) 받은 방법.

[스프링부트] @Mapper import 실패시(빨간줄) 해결 방법

[Spring] Spring & Egov *.do 확장자 없이 URL 접근 가능토록 하기