TIL240416 try catch 에러 로깅 (+ Live Template)

jericho·2024년 4월 16일

TIL

목록 보기
51/62

try catch with logging throwable

try catch 문을 쓰면서 어떤 문제로 catch가 됐는지 로그를 찍고 싶을 때, 로그의 메시지 부분에 "$e" 로 출력을 해왔는데, Log에는 throwable을 매개변수로 받아서 출력해주는 좋은 기능이 있었다.

//
try {
} catch (e: Throwable) {
    Log.e(TAG, "fun1 something error", e)
}

로그의 세 번째 매개변수로 throwable을 넘겨주면, 에러 메시지뿐만 아니라 스택 트레이스까지 표시가 된다.


Live Template

로깅 방법은 알았는데, try catch 문을 자주 쓰게 되니 계속 같은 코드를 작성해주는 것이 불편했다.
try의 기본 템플릿?은 뒤에 중괄호밖에 생성해주지 않았고, catch 부분은 직접 작성해야 했다.

이런 불편함을 해결해 주는 것이 바로 Live Template 이다.

설정에서 Editor - Live Templates 로 들어가면 내가 직접 템플릿을 생성할 수 있다.

//
try {
} catch (e: Throwable) {
    Log.e(JJTAG, "$METHOD_NAME$ $content$", e)
}

catch 블록과 Log를 원하는 대로 만들어 둘 수 있다.
$ 표시 사이에 변수를 넣어놓고 Edit Variables... 버튼을 눌러보면 기본값을 넣어줄 수 있다. 함수명을 기본으로 넣어주고, content 부분은 skip 체크를 해제하여 커서가 해당 위치에 지정되도록 했다.

하단의 Change 드랍다운을 열어서 Kotlin을 체크해준다.

그리고 Reformat according to style을 체크해야 들여쓰기 등이 제대로 작동한다.

0개의 댓글