tail -f가 컬러 출력을 표시하는 방법 INFO녹색 인 경우 tail이 작업을 수행하는

다음과 같은 메시지가있는 서버 로그 파일의 출력을 조정할 수 있기를 원합니다.

INFO
SEVERE

등이 있고이면 SEVERE줄을 빨간색으로 표시하십시오. INFO녹색 인 경우 tail이 작업을 수행하는 데 도움이 되는 명령에 어떤 종류의 별칭을 설정할 수 있습니까?



답변

multitail을 사용해보십시오 . 이것은 übergeneralization입니다 tail -f. 별도의 창에서 여러 파일을 볼 수 있으며, 내용에 따라 선을 강조 표시하는 등의 작업을 수행 할 수 있습니다.

multitail -c /path/to/log

색상을 구성 할 수 있습니다. 기본 색 구성표가 작동하지 않으면 구성 파일에 고유 한 색 구성표를 작성하십시오. 예를 들어 multitail -cS amir_log /path/to/log다음을 호출 하십시오 ~/.multitailrc.

colorscheme:amir_log
cs_re:green:INFO
cs_re:red:SEVERE

비표준 도구 를 설치하는 것이 불편한 서버에있는 경우 또 다른 솔루션 은 tail -fsed 또는 awk와 결합 하여 색상 선택 제어 시퀀스를 추가하는 것입니다. 이것은 필요 tail -f모든 구현이 작업을 수행 할 경우 표준 출력 파이프 경우에도, 나도 몰라 지체없이 표준 출력을 플러시.

tail -f /path/to/log | awk '
  /INFO/ {print "\033[32m" $0 "\033[39m"}
  /SEVERE/ {print "\033[31m" $0 "\033[39m"}
'

또는 sed

tail -f /path/to/log | sed --unbuffered \
    -e 's/\(.*INFO.*\)/\o033[32m\1\o033[39m/' \
    -e 's/\(.*SEVERE.*\)/\o033[31m\1\o033[39m/'

sed가 GNU sed가 아닌 경우 \o033리터럴 이스케이프 문자로 바꾸고 제거하십시오 --unbuffered.

또 다른 가능성은 Emacs 쉘 버퍼 tail -f에서 실행 하고 Emacs의 구문 색상 지정 기능을 사용하는 것입니다.


답변

grc , 일반 착색제는 매우 시원합니다.

apt-get install grc

그냥 해

grc tail -f /var/log/apache2/error.log

즐기세요!

GitHub 에서도 찾을 수 있습니다 .


답변

ccze보셨습니까 ? 옵션을 사용 -c하거나 구성 파일에서 직접 일부 키워드의 기본 색상을 사용자 정의 할 수 있습니다 . 색상을 지정한 후 화면이 지워지면 옵션을 사용해야합니다 -A.

편집하다:

완전한 선을 빨간색으로 표시하려면 다음을 시도해보십시오.

$ tail -f myfile.log | perl -pe 's/.*SEVERE.*/\e[1;31m$&\e[0m/g'

\e[1;31m당신에게 붉은 색을 줄 것입니다. 노란색을 원하면을 사용 \e[1;33m하고 녹색으로 사용하십시오 \e[1;32m. 는 \e[0m일반 텍스트 색상을 복원합니다.


답변

고급 로그 파일 뷰어 인 lnav를 살펴보십시오 .

내비게이션
내비게이션

다양한 형식으로 인쇄 할 수도 있습니다.

전에:

lnav-before-pretty

후:

내비게나


답변

정규 표현식을 기반으로 선을 채색 하는 rainbow 을 사용할 수 있습니다 .

rainbow --red='SEVERE.*' --green='INFO.*' tail -f my-file.log

또한 Tomcat 로그 와 같이 사전 정의 된 구성 이 번들로 제공됩니다 .

rainbow --config=tomcat tail -f my-file.log

(면책 조항 : 나는 저자입니다)


답변

colortail 을 사용할 수 있습니다 :

colortail -f /var/log/messages


답변

또한 일치하는 정규 표현식 하나만 찾으려면 GNU grep --color이 작동 tail합니다. 출력을 파이프로 연결하면됩니다.