언어·프레임워크/Spring Boot
[Spring Boot] gradle lombok Slf4j로 테스트 코드 로그 찍기
DandyNow
2024. 4. 10. 15:52
728x90
반응형
1. DEBUG CONSOLE에 Slf4j 로그가 찍히지 않는 문제
코딩하는 오후 채널의 "스프링 부트 : 보안"을 실습하던 중에 테스트 코드를 실행했는데 DEBUG CONSOLE에 로그가 찍히지 않는 문제가 있었다. 구글링을 통해 이 문제를 해결했고 해당 영상에 없는 내용이라 이 글을 작성하여 정리하고자 한다.
😉 코딩하는 오후 "스프링 부트 : 보안" 동영상 강의 : https://youtu.be/3CY2pk-Ug10?feature=shared
2. lombok 테스트 코드용 설정
2.1. 의존성 설정
build.gradle 파일의 의존성(dependencies)에 아래 코드를 추가해야 한다.
testCompileOnly 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
2.2. logback.xml 작성
src/main/resources 경로에 logback.xml을 작성한다. 이 파일이 없을 경우 log.info()를 이용하면 로그를 찍을 수 있었지만 log.debug()로는 로그가 찍히지 않았다.
<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="OFF"/>
<logger name="jdbc.sqltiming" level="DEBUG"/>
<logger name="jdbc.audit" level="OFF"/>
<logger name="jdbc.resultset" level="OFF"/>
<logger name="jdbc.resultsettable" level="DEBUG"/>
<logger name="jdbc.connection" level="OFF"/>
<root level="DEBUG">
<appender-ref ref="STDOUT" />
</root>
</configuration>
2.3. 테스트 코드에 Slf4j 어노테이션 적용
JasyptTest.java 파일에 테스트 코드를 작성했고 Slf4j 어노테이션을 적용했다.
package dev.dandy.demo;
import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
import org.junit.jupiter.api.Test;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class JasyptTest {
@Test
public void jasyptTest() {
String value = "1234";
String result = jasyptEncoding(value);
log.debug("---{}---", result);
}
public String jasyptEncoding(String value) {
String key = "(Random key generator_로 생성한 Encryption key 256 키를 복붙함)";
StandardPBEStringEncryptor pbeEnc = new StandardPBEStringEncryptor();
pbeEnc.setAlgorithm("PBEWithMD5AndDES");
pbeEnc.setPassword(key);
return pbeEnc.encrypt(value);
}
}
😉 Random key generator_ 랜덤 키 생성 : https://acte.ltd/utils/randomkeygen 에서 GENERATE 버튼을 클릭하면 랜덤으로 키를 생성할 수 있다. 생성된 키 중 Encryption key 256 키를 이용하였다.
728x90
반응형