0xF0 ETC/🐧 Tips
[🐧 Tips] LOG 확인하기 (feat. --line-buffered)
onsoim
2020. 2. 17. 22:47
log 파일에서 새로이 추가되는 내용을 확인하기 위하여, tail 명령어를 이용합니다.
tail -f example.log
위의 명령어를 실행하면, example.log 파일을 추적하면서 새로이 추가되는 부분을 출력하여 줍니다.
하지만 tail 명령어는 기본적으로 실행 시점을 기준으로 바로 직전의 10줄을 출력합니다.
tail -f -n0 example.log
이를 출력하길 원하지 않는 경우에는, tail 명령어의 옵션 중 하나인 -n0 을 추가하면 직전 10줄은 출력하지 않고 실행 이후에 추가되는 부분만을 출력합니다.
그리고 특정 로그만을 출력하게 하기 위하여, pipe 라인으로 grep 명령어를 같이 사용합니다.
tail -f -n0 example.log | grep 'alert'
위의 명령어를 실행하면, 새로이 추가되는 부분들 중에서 alert 라는 키워드를 포함하고 있는 줄만을 출력하여 줍니다.
그리고 출력되는 양이 늘어나게 되면, 출력되는 중간중간 잘려서 출력이 되곤 합니다.
tail -f -n0 example.log | grep --line-buffered 'alert'
그럴 경우에는 grep 명령어의 옵션 중 하나인, --line-buffered 를 이용하면 한줄 단위로 출력할 수 있습니다.
마지막으로 이렇게 출력한 내용을 파일로 만들기 위해서는, > 명령어를 이용하면 됩니다.
tail -f -n0 example.log | grep --line-buffered 'alert' > alert.log
위의 명령어를 실행하면, example.log 파일에서 새로이 추가되는 줄 중에서 alert 키워드를 포함하고 있는 줄만을 alert.log 파일로 저장하게 됩니다.
> 명령어의 경우, 파일을 새로이 생성하여 저장을 합니다.
>> 명령어의 경우, 기존의 파일에 추가하여 저장을 합니다.