일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- git rebase
- 티스토리챌린지
- 스마트컨트렉트 예약어 함수이름 중복
- 스마트컨트렉트 함수이름 중복 호출
- ethers
- 계정추상화
- vue기초
- 러스트기초
- ethers v6
- ambiguous function description
- ethers typescript
- chainlink 설명
- Vue
- 러스트 기초
- 체인의정석
- rust 기초
- 오블완
- ethers type
- 스마트 컨트렉트 함수이름 중복
- Vue.js
- multicall
- 러스트 기초 학습
- ethers websocket
- 컨트렉트 배포 자동화
- 머신러닝기초
- erc4337
- 컨트렉트 동일한 함수이름 호출
- 스마트컨트렉트테스트
- SBT표준
- erc4337 contract
- Today
- Total
체인의정석
운영서버 터미널에서 에러 로그 특정 단어 앞,뒤로 여러 단어 검색하는 법 (zCat, grep -A -B, grep) 본문
운영서버 터미널에서 에러 로그 특정 단어 앞,뒤로 여러 단어 검색하는 법 (zCat, grep -A -B, grep)
체인의정석 2023. 8. 11. 14:16실제 운영 서버 또는 공용 dev 서버 등에서는 매우 많은 양의 로그가 발생한다.
이러한 경우 일자별로 로그 파일이 압축되어 있기도 한다.
만약 에러가 발생했는데 로그를 보면서 원인을 파악해야 하는 상황이라면 압축파일을 복사해서 풀고 확인하려면 너무나도 번거롭고 복잡하며 부담감 까지 든다.
하지만 라인 하나로 압축을 안풀고 검색할 수 있는 방법이 있다.
사실 로그 파일을 검색하는 방법에 대해서는 이전에도 기록을 해두었는데 이번에 더 자세한 검색을 하면서 사용한 코드들을 기록해 보려고 한다.
먼저 터미널에서 특정 단어 검색하는 방법은 아래 링크에 정리되어 있다.
https://it-timehacker.tistory.com/433
터미널에서 파일의앞,뒤,특정 부분만 뽑아서 출력하기(head, tail, grep)
실제 프로덕트에서 에러 로그를 보고 디버깅을 할 때는 양이 많아서 cat으로는 찾기 어렵다. 따라서 원하는 상황에 맞게 로그를 터미널에서 검색해서 볼 수 있어야 한다. 1. head head는 앞 부분을
it-timehacker.tistory.com
또한 압축 파일을 풀지 않고 조회하는 방법은 다음과 같다.
https://it-timehacker.tistory.com/398
리눅스 압축 파일 풀지 않고 확인하기
복잡한 에러로그 디렉토리에서 압축 파일을 푸는 방법은 다른 디렉터리에서 복사해서 보는 방법이 있는데 먼저 다른곳에 복사하고 나서 푸는 것이다. cp 파일명.txt /경로/새로움파일명.txt 이런
it-timehacker.tistory.com
그렇다면 과거 특정 일자의 압축파일을 풀지 않고 바로 한번에 단어 검색까지 하기 위해서는 어떻게 해야 할까?
다음과 같이 하면 된다.
zcat 압축파일이름.gz | grep "찾고싶은단어"
근데 이렇게 하면 한줄 씩만 출력되어서 매우 불편하다.
이러한 경우 앞 뒤에 특정 라인만큼 더 출력시켜주는 구문이 존재한다.
zcat 압축파일이름.gz | grep -A 5 -B 5 "찾고자하는단어"
이렇게 -A, -B 의 숫자를 바꾸면 해당 숫자만큼 앞 뒤로 더 출력을 시켜줘서 정확한 에러를 체크할 수 있다.
참고로 현재는 예외처리 시에 작성하는 에러로그에 해당 파일이름을 로거에 공통적으로 넣고 함수 이름을 남기고 에러메세지를 남기는 규격대로 통일해서 함수 이름만 검색하면 특정 함수에서 에러가 났는지를 체크해 볼 수 있다.
'개발 > docker & linux' 카테고리의 다른 글
docker compose를 사용한 db 설치 후 기본 작업 (0) | 2024.02.20 |
---|---|
zsh: command not found: nvm 오류해결, NVM 설치방법 (0) | 2023.10.12 |
터미널에서 파일의앞,뒤,특정 부분만 뽑아서 출력하기(head, tail, grep) (0) | 2023.06.26 |
docker) permission denied while trying to connect to the Docker daemon socket 에러 해결 (0) | 2023.05.19 |
운영체제 확인 & 리눅스에서 nvm& node.js설치 (0) | 2023.05.19 |