로그 파일을 테일링할 때 색상이 덜 지정된 출력

로그 파일을 테일링할 때 색상이 덜 지정된 출력

지속적으로 추가되는 파일을 읽으면서 출력을 적게 색칠할 수 있는 방법이 절실히 필요합니다.

문제의 파일은 Resin 서블릿 컨테이너 로그입니다.

현재 색상 구성표의 "구현"에서는 키워드 주변의 색상을 사용 tail -F하고 편집할 수 있습니다. sed색칠할 단어가 4개 있습니다: INFO, WARN, ERROR, DEBUG. 그 중 하나는 한 줄에 한 번씩 나타납니다.

환경 변수를 사용해 보았지만 LESSOPEN로그를 계속 읽을 수 없는 것 같습니다. 파일이 열리면 파일이 종료되지 않습니다.

나는 서버에 대해 거의 통제할 수 없으며 기본 폴더에 내 스크립트 이외의 다른 것을 설치할 수 없으므로 패키지가 없습니다. 문제의 서버는 RHEL 6.4입니다.

문제는 less파일을 계속 읽지 않는다는 것입니다. 환경 변수를 사용하여 로그를 지속적으로 추적하는 방법이 있습니까 LESSOPEN, 아니면 좀 더 정교한 도구가 필요합니까?

답변1

문제는 Linux의 파이프에 있습니다. CTRLc파이프가 닫혀 있어 less다시 열 수 없습니다.

내가 찾은 해결책은 컬러 로그를 파일로 리디렉션한 다음 less.할 수 있는뒤에 따라가 CTRL-c므로 다음을 수행합니다.

tail -F -c +1 | colorize > /tmp/logfilename &
less -Sr /tmp/logfilename

기적적으로 작동합니다.

답변2

여기에는 두 가지 문제가 있습니다.

  • 더 낮은 속도로 출력을 색상화하는 방법
  • tail -f처럼 동작하지 않게 만드는 방법

LESSOPEN좋은 방법인 것 같지만 첫 번째 질문에 대답할 수 없습니다 . 두 번째 방법은 간단합니다. less 를 시작하거나 less 가 이미 실행 중이면 less +F클릭합니다 .ShiftF

답변3

넌 달릴 수 있어tail -f Emacs 쉘 ​​버퍼에서, 그리고 Emacs가 색칠을 하도록 하세요.

하이락정규 표현식과 일치하는 단어를 빠르게 강조표시할 수 있습니다. 강조 표시 패턴을 파일에 저장하는 대략적인 방법이 있지만 파일이 실제로 명령의 출력인 경우에는 편리하지 않습니다. 간단하게 작성하시면 좋을 것 같아요메인 모드그리고글꼴 잠금 핵심 단어.

답변4

색상을 시뮬레이션하기 위해 vim을 사용합니다 less. 매크로 가 있으며 lessVim 색상 구성표를 사용합니다.

내 bashrc에 이것을 추가했습니다.

alias cless='/usr/share/vim/vim73/macros/less.sh'

후행/다음을 수행하려면 다음을 허용하는 Vim 플러그인이 필요합니다. 어쩌면 시도해봐꼬리 묶음끼워 넣다.

관련 정보