Web RTC 이용해 화상 채팅 애플리케이션을 만들다가
@Slf4j 어노테이션 사용하는데 애를 먹어서 알게 된 사실을 공유하고자 한다.
@Slf4j
@RestController
public class SignalingController {
//offer 정보를 주고 받기 위한 websocket
//camKey : 각 요청하는 캠의 key , roomId : 룸 아이디
@MessageMapping("/peer/offer/{camKey}/{roomId}")
@SendTo("/topic/peer/offer/{camKey}/{roomId}")
public String PeerHandleOffer(@Payload String offer, @DestinationVariable(value = "roomId") String roomId,
@DestinationVariable(value = "camKey") String camKey) {
log.info("[OFFER] {} : {}", camKey, offer);
return offer;
}
//이하 코드는 생략
}
내가 참고한 사이트에서는 @Slf4j 어노테이션을 입력해 따로 변수를 생성하지 않고 log를 통해 info 함수를 호출해 log를 찍는 걸로 보였다.
하지만 내가 해봤을때는 아무리 해도 @Slf4j 어노테이션에서 계속 에러가 발생했다 ㅜㅜ
구글링을 열심히 해보고 Slf4j 사용하는 법을 아무리 봐도 해결이 안되던 와중
https://inseok9068.github.io/java/java-lombok-slf4j/
이 링크에서 해답을 얻을 수 있었다.
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Slf4jSample {
private static final Logger log = LoggerFactory.getLogger(Slf4jSample.class);
public static void main(String[] args) {
log.info("---------- Log 테스트 ---------");
}
}
위의 코드와 같이 final 변수 log를 선언해 사용하는 방법이다.
혹시 나와 같은 에러를 접한 분들께 도움이 되길 바란다!