Mac에서 실시간 스타우트/로그를 어떻게 집계하고 정렬하나요?

Mac에서 실시간 스타우트/로그를 어떻게 집계하고 정렬하나요?

저는 OSX에서 MySQL, Redis, MongoDB 및 memcached를 사용하는 레일 및 스칼라 애플리케이션을 개발 중입니다.

항상 6개의 터미널을 열어두고 그곳의 로그를 살펴보는 것은 다소 성가신 일이므로, 프로그램을 시작한 다음 stdout/log를 소켓(또는 로그 파일 테일인 경우)으로 가져올 수 있는 도구가 있는지 궁금합니다. 출력만) 원본에 대한 접두어로 집계합니다.

[MySQL        - 00pid00] SELECT .......
[Rails Server - 11pid11] GET request to /foo
...

이상적으로는 다음과 같이 정렬하고 필터링할 수도 있습니다.아파치 전기톱log4j를 허용하고 정규식을 기반으로 나만의 필드를 생성합니다. 즉, 오류가 있는 경우 오류의 URL과 오류를 발생시킨 HTTP 응답/파일 + 줄만 표시하는 필드를 표시합니다.

(나는 sed awk grep과 co를 알고 있지만 GUI는 사용하기 훨씬 쉽고 시작하기도 훨씬 빠릅니다)

답변1

파일에 기록하도록 각 시스템을 설정할 수 있는 경우 Chainsaw에서 해당 로그를 추적하고 로그 항목을 단일 테이블로 집계할 수 있습니다. 방법은 다음과 같습니다.

  • Chainsaw의 최신 개발자 스냅샷을 아래로 내리세요.http://people.apache.org/~sdeboy
  • '환영' 탭을 선택하고 탭 상단의 '예제 수신기 구성 보기' 버튼을 클릭한 후 구성을 복사합니다. - 추적하려는 각 로그 파일에 대해 하나씩 여러 VFSLogFilePatternReceiver 항목을 생성합니다.
  • 모든 로그 파일이 Chainsaw에 별도의 탭으로 표시되면 보고 싶은 이벤트와 일치하는 표현식을 정의하여 모든 탭의 모든 이벤트를 새 탭에 수집할 수 있습니다(표현식에 대한 문서는 도움말/자습서 참조). 통사론).
    • 힌트: 전기톱 로그 메시지가 사용자 메시지와 섞이지 않도록 하려면 ('현재 탭' 메뉴에서) 전기톱 ​​로그 탭을 지우고 일시 중지하세요.
    • '보기, 표현식에서 탭 만들기'를 선택하세요.
    • 모든 탭의 모든 항목과 일치하는 가장 간단한 표현식은 MSG EXISTS입니다.
    • 표현식이 포함된 새 탭이 생성되고 표현식과 일치하는 모든 기존 이벤트로 채워집니다.
    • 표현식과 일치하는 새 이벤트가 도착하면 표현식 탭은 물론 원본 탭에도 추가됩니다.

답변2

표준에 자신만의 로그 파일을 추가할 수 있습니다./Applications/Utilities/Console.app

관련 정보