웹 백엔드 개발자라면 로그는 일상이다. 하지만 로그 파일이 길어지면 단순한 tail -f 나 less 만으로는 부족하다는 느낌, 다들 한 번쯤은 받아봤을 것이다. 오늘 소개할 도구는 lnav (Log Navigator). Vim 유저라면 더욱 반가울 이 도구는, 터미널 환경에서 로그 파일을 효율적으로 탐색, 검색, 필터링, 하이라이팅까지 해주는 강력한 로그 뷰어다.

lnav란 무엇인가?
lnav는 다양한 로그 형식을 자동으로 감지하고, 컬러 하이라이팅과 함께 가독성 높게 보여주는 로그 탐색 전용 도구다. 무엇보다 눈에 띄는 점은 Vim 스타일의 키 바인딩과 실시간 로그 tailing 기능이다. 개발 중 로그를 자주 들여다보는 Django, Flask, Node.js, Spring 등 거의 모든 백엔드 프레임워크 사용자에게 유용하다.
설치는 매우 간단하다.
sudo apt install lnav
자주 사용하는 단축키 & 명령어 정리
탐색 및 검색
gg: 로그의 맨 처음으로 이동G: 로그의 맨 끝으로 이동Ctrl+U,Ctrl+D: 화면 기준 위/아래로 스크롤/: 문자열 검색 (앞 방향)?: 문자열 검색 (뒤 방향)n,N: 검색 결과 다음/이전 이동
실시간 로그 보기 (Tail 모드)
F또는Shift+F: 실시간 로그 tailing 시작 (tail -f와 유사)
필터링 & 하이라이팅
:filter-in INFO: INFO 레벨 로그만 보기:filter-out DEBUG: DEBUG 로그 제외하고 보기:disable-filter: 필터 해제:highlight ERROR: "ERROR" 문자열 하이라이트
북마크 기능
m: 현재 줄 북마크': 북마크 간 순차 이동
파일 조작
- 여러 로그 파일 동시 열기
bash lnav app.log server.log - 실행 중 다른 파일 추가 열기
:open another.log
추천 활용법
개발 효율을 높이려면 lnav을 터미널 탭 하나에 상시 실행해두는 것이 좋다. 예를 들어:
- Neovim 혹은 VSCode에서 코드를 작성하고,
- 다른 탭 혹은 분할창에서
lnav를 열어 로그를 실시간으로 확인한다.
이런 워크플로우는 특히 오류 발생 시 빠른 대응이 가능해져, 디버깅 시간을 대폭 단축해준다.
VSCode보다는 Neovim, vim을 사용하는 개발자들에게 특히 유용하다고 생각한다.
lnav는 단순한 로그 뷰어 그 이상이다. Vim 사용자에게는 익숙한 조작감과 함께, 로그 분석을 더욱 빠르고 스마트하게 만들어준다. 개발하면서 로그를 자주 들여다보는 이들에게는 분명 강력한 무기가 될 것이다.
댓글이 없습니다.