증가하는 로그 파일에서 새 항목 만 봅니다.


20
tail -f x.log

이 명령을 사용하여 명령 프롬프트에서 증가하는 로그 파일을 볼 수 있습니다.

나는 실행 후 파일에 기록 된 로그 라인 만보 tail -f고 관심을 갖기 전에 파일에 기록 된 로그에 관심이 없다 tail -f. 그러나 tail -f시작시 명령은 마지막 10 줄을 가져 와서 표시합니다.

이 로그가 새로 생성 된 경우 (또는) 오래된 로그 인 경우 때때로 혼란 스럽습니까?

그렇다면 tail -f를 사용자 정의하여 새 항목 만 출력하려면 어떻게해야합니까?

logs  tail 

답변:


31

당신은 시도 할 수 있습니다:

tail -n0 -f x.log

에서 man 페이지 :

-n, --lines = K
는 마지막 10 줄 대신 마지막 K 줄을 출력합니다. 또는 -n + K를 사용하여 Kth로 시작하는 라인을 출력하십시오.


12

-n0옵션을 사용하여 0 줄을 표시 할 수 있습니다 . 그래서

tail -n0 -f some.log

2

당신은 또한 less같은 명령 을 사용할 수 있습니다

  1. less file_name.log (로그 파일이 열리고 로그 파일의 첫 페이지가 표시됨)
  2. shift+를 누릅니다 f(꼬리 -f와 동일하게 작동)
  3. 로그 파일에서 키워드를 검색해야하는 경우 ctrl+ c를 눌러 테일 모드를 종료하고 키워드를 /키워드 및 ?키워드 로 검색하십시오 .

이것은 보이지 않습니다 증가하는 로그 파일 의 새 항목 만 .
Spooky

0

도커 컨테이너 내부의 항목을 모니터링해야 할 때이 방법을 만들었습니다.

LOG_COUNT=0
LOGS=/var/logs/your_logs

function HEART_BEAT() {
    LOG_COUNT_NEW=$(wc -l $LOGS | awk '{ print $1 }')
    tail -n $(( $LOG_COUNT_NEW - $LOG_COUNT )) $LOGS
    LOG_COUNT=$LOG_COUNT_NEW
}

이것이 도움이되기를 바랍니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.