기존 프로젝트를 이해하려면 테스트코드를 작성하는게 맞지만, 일단은 로깅 찍어서 전체적인 플로우를 보려고 했다.
그래서 로그를 찍는 방법을 찾아본 내용을 정리한다. 추가로, intellj에서 필터링해서 볼수있는 플로그인까지 소개한다.
Kotiln logger
java에서는 lombok을 사용해서 클래스변수의 getter/setter를 자동으로 생성해주는 @Data어노테이션이나,
logger객체를 자동으로 생성해주는 @Log, @Slf4j가 있다.
하지만 kotlin에서는 이렇게 logger객체를 쉽게 얻어주는 라이브러리가 없다.
그래서 코틀린코딩으로 간단하게 logger객체를 얻을 수 있는 방법을 알아보자
kotiln-logging dependency추가
logger객체를 얻기 위해서 디팬던시 추가가 필요하다
maven 프로젝트라면
<dependency>
<groupId>io.github.microutils</groupId>
<artifactId>kotlin-logging-jvm</artifactId>
<version>2.0.11</version>
</dependency>
gradle 프로젝트라면
implementation("io.github.microutils:kotlin-logging:1.12.0")
logger 사용법
우선 logger를 사용하기 위해 import 한다.
import mu.KotlinLogging
그리고 logger를 최상위변수로 선언한다.
private val logger = KotlinLogging.logger {}
그리고 원하는 곳에서 logger를 출력한다.
출력결과
그리고 프로젝트를 run 하게 되면 아래와 같이 출력결과를 볼 수 있다.
하지만 이렇게 된 로그는 쉽게 살펴보기 어렵다. 로그의 늪에 빠진다.
그래서 Intellj에서 로그를 한눈에 보기 쉽게 제공해주는 플러그인이 있다.
Grep Console
preference(CMD+,) 메뉴로 들어가 plugins에서 grep console를 추가한다.
이 플러그인은 콘솔창 텍스트 컬러를 커스텀으로 지정할 수 있다.
error, warn, info, debug 뿐만 아니라 개인이 원하는 글자 expression을 넣을 수도 있다. (add new item)
그리고 원하는 내용만 필터링해서 볼 수 있다.
필터링 원하는 곳에 우클릭으로 grep을 하고, expression을 지정해서 reload하면 원하는 내용만 필터링해서 볼 수 있다.
필터링해서 지정하는 expression은 정규표현식을 따르며 *이나 !로 제외하거나 모두 포함하는 단어를 검색 할 수도 있다.
일단 여기까지 알아본 걸로 기본적으로 로그를 찍어볼 수 있을 것 같다. 다음에 테스트코드 작성해보자
테스트코드작성
https://codechacha.com/ko/unittest-with-kotlintest-in-kotlin/
https://github.com/spring-guides/tut-spring-boot-kotlin#testing-with-junit-5
참고
https://hyoj.github.io/blog/tips/intellij/intellij-plugins/#key-promoter-x
https://www.baeldung.com/kotlin/kotlin-logging-library
'Tool & Setting' 카테고리의 다른 글
git GUI tool, SourceTree에서 Fork로 갈아타다 (0) | 2022.08.01 |
---|---|
[Tool] Medis2 : Redis GUI Client 프로그램(Mac M1 가능) (0) | 2022.02.06 |
[단축키] 개발자 생산성 높이는 Mac 단축키와 IntelliJ 단축키 (2) | 2022.02.05 |
[Setting] [VScode] AWS EC2 (Linux) SSH 접속하기 (2) | 2021.09.08 |
[Setting][Intellj] 파이썬 가상환경 venv 설정 (0) | 2021.08.25 |
[Setting] [Intellj] pyspark 환경구성 하기 (0) | 2021.07.26 |