티스토리 뷰
Author: 니용
안녕하세요!
개발자로서 로그를 확인하는 일은 정말 많습니다.
테스트 혹은 QA 과정 중에 모든 에러를 잡는 것은 코드를 개발한 개발자여도 찾기 쉽지 않습니다.
도달 범위 혹은 if 문 사이사이에 해당 조건이 맞는지 찾기 위해 정말 많이 사용하죠.
각 언어별로 혹은 환경별로 로그를 제공하는 명령어는 모두 다릅니다.
이 글에서는 모든 언어는 아니지만 각 언어별로 제공하는 명령어와 그 사용방법 및 꿀팁을 전달드리려고 합니다.
환경 | 명령어(소스) | 비고 |
Web (Chrome Browser) | console.log / console.group 등 | foreach 문은 console.group |
Java | System.out.println | |
Python / PHP | echo | |
Linux / Ubuntu | tail / vi | |
Lombok (Spring Framework) | log.info / log.debug / log.error 등 | @Slf4j 사용시 |
Lombok은 이전에 말씀드렸다시피 외부 라이브러리예요.
설치하는 법은 이전 글에 나와있어 사용하시기 어렵지 않으실거에요.
Linux는 사용할 때 단축키가 약간 다르기 때문에 윈도 사용자들은 불편함이 많으실 거예요.
여기에서는 특정 단어가 들어갔을 때 로그를 출력하는 방법을 설명드리려고 합니다.
먼저 터미널을 오픈한 후, console.log 혹은 logback.log 파일이 있는 경로로 이동합니다.
이동하는 명령어는 cd (change directory) 이죠
cd api/ |
경로로 이동하셨다면 파일을 tail 명령어로 오픈합니다.
tail logback.log |
여기에 옵션을 부여할 수 있어요. 라인수를 옵션으로 넣어봅니다.
tail -2000f logback.log |
위의 옵션을 추가하면 아래서부터 상위 2천 줄이 출력됩니다.
또 로그가 추가적으로 쌓인다고 하더라도 계속 하위에 깔리게 되어요.
특정 키워드로 검색을 하고 싶다 하시면 아래와 같이 옵션을 추가하면 됩니다.
tail -2000f logback.log | grep "keyword" |
이렇게 되면 keyword라는 키워드가 들어간 로그 줄만 출력이 되는 것을 확인할 수 있습니다.
grep 명령어는 이럴 때 사용하면 좋아요
1. 출력되는 로그가 너무 많아서 특정 키워드만 검색하고 싶을 때
2. 파일을 찾아야 하는데 파일 또는 디렉터리가 너무 많아서 검색 조건에 넣을 때
3. 불필요한 검색을 줄이고 싶을 때
파일을 검색하고 싶을 때는 다른 명령어도 있습니다.
find /home/username/ -name "*.err" |
확장자가 .err 인 파일을 검색할 때 사용합니다.
자세한 내용은 해당 링크에서 확인 가능하세요.
'Server' 카테고리의 다른 글
이모지를 저장하자 (0) | 2020.06.16 |
---|---|
MySQL Function 만들기 (1) | 2020.06.12 |
MySQL 의 LEFT OUTER JOIN - 23년 7월 수정 (0) | 2020.06.11 |
MySQL 기본 인코딩 언어 설정하기 (2) | 2020.05.11 |
MySQL 함수(SUBSTR, DATE_FORMAT, CAST) (0) | 2020.04.22 |
[Java] 타입 변환 (0) | 2020.04.17 |