[SPRING BOOT] Spring Boot (Gradle) log4j 환경 셋팅으로 로그 깔끔하게 남기기.
오늘 포스팅은 gradle로 만든 스프링 부트에서 log4j 사용하기 입니다.
1. 아래의 그림처럼 build.gradle을 더블 클릭하여 열어줍니다.
2. dependencies 안에 compile ('org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4:1.16') 추가합니다
7. log4jdbc.log4j2.Properties 열어 아래 코드 추가해줍니다.
9. 실행을 시켜봅니다.
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 =
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 을 검색해봅니다.
댓글
댓글 쓰기