Skip to content
DarkKaiser의 블로그
DarkKaiser의 블로그
  • 개발 관련 자료(노션)
  • Raspberry Pi(노션)
  • WD My Cloud(노션)
  • GitHub
DarkKaiser의 블로그

Grep Console : 이클립스 콘솔 이쁘게 보기

DarkKaiser, 2012년 1월 12일2023년 9월 4일

큰 프로젝트를 개발하다보니 이클립스 콘솔에 출력되는 수많은 로그를 뒤지는 것도 보통 일이 아니었습니다. 개발과정에서는 디버깅을 위해 로그레벨을 높여서 사용하므로 엄청난 양의 로그가 출력되고 그 중에서 필요한 부분을 찾으려면 수없이 스크롤하고 텍스트 검색을 해야했습니다. 더군다나 로그메시지는 자세히 보지 않으면 비슷비슷해 보이기 때문에 집중해서 보지 않으면 찾기도 쉽지 않았습니다.

사용자 삽입 이미지


다 똑같이 출력되니까 로그 메시지 뒤지는데도 상당한 시간이 소비되었는데 얼마전에 콘솔의 메시지를 종류별로 다양한 색으로 보여주는 플러그인이 있다는 걸 알게되었습니다. Logback 을 쓴다면 사용할 수 있는 Logback Console Plugin for Eclipse 도 있었지만 좀더 범용적으로 쓸 수 있는 Grep Console 을 선택했습니다. 이클립스를 Indigo(3.7)버전을 쓴다면 이클립스 마켓플레이스에서 존재하므로 바로 설치할 수 있습니다.

사용자 삽입 이미지


이클립스를 3.6이하의 버전을 사용한다면 [Help] – [Install New Software]에서 http://eclipse.musgit.com 를 추가하고 설치할 수 있습니다.

Grep Console이 설치된 콘솔


설치가 완료되면 위처럼 콘솔에 우측에 (?) 아이콘이 생성됩니다. 이 아이콘을 클릭하면 다음과 같은 Grep Expression 관리화면이 나타납니다.

사용자 삽입 이미지


Grep Console은 정규표현식을 사용해서 로그메시지를 구분하고 각 규칙마다 원하는 색을 지정할 수 있는 구조로 되어있습니다. 처음에는 아무 규칙도 등록되어 있지 않으므로 Add를 눌러서 규칙을 등록하면 됩니다. 위처럼 정규표현식 규칙을 등록합니다. 정규표현식에서 괄호로 그룹을 3개 만들었으므로 규칙에서 Whole Line과 그룹 3개가 나타납니다. Whole Line은 정규표현식으로 잡힌 라인전체에 대한 설정이고 그룹별로도 다른 설정을 할 수 있습니다. 기본적인 로그레벨에 대한 구분은 다음 정규식을 이용해서 할 수 있습니다.

(.*)(TRACE)(.*)
(.*)(DEBUG)(.*)
(.*)(ERROR)(.*)
(.*)(FATAL)(.*)
(.*)(INFO)(.*)


사용자 삽입 이미지


위처럼 로그메시지에서 블락을 설정하고 마우스의 우측클릭을 하면 Add Grep Expression이라는 메뉴가 나서 현재 선택한 텍스트를 기준으로 바로 정규표현식을 생성할 수 있습니다. 물론 이는 기본적인 정규표현식이므로 세밀한 제어를 하려면 정규표현식을 수정해야 합니다. 위 그림은 하이버네이트에 대한 로그를 따로 구분하기 위해서 설정했습니다.

사용자 삽입 이미지


이제 위처럼 로그가 구분되어 나오기 때문에 쉽게 찾고자 하는 로그를 구분해서 볼 수 있습니다. Grep Console은 정규표현식을 사용하기 때문에 필요한 만큼 다양하게 설정할 수 있어서 출력로그의 규칙성만 찾으면 자유롭게 등록해서 사용할 수 있습니다.

eclipse

글 내비게이션

Previous post
Next post

답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

최신 글

  • AssertJ 소개testCompile ‘org.assertj:assertj-core:3.6.2’ 2017년 9월 14일
  • 자주 사용되는 Lombok 어노테이션 2017년 9월 14일
  • 유니코드 #3 2017년 9월 14일
  • 유니코드 #2 2017년 9월 14일
  • 유니코드 #1 2017년 9월 14일

최신 댓글

    카테고리

    • 개인 자료 (1)
      • 일기 (1)
    • 주절주절 (7)
    • 프로그래밍 갤러리 (16)
    • 프로그래밍 언어 (186)
      • Java (29)
      • C/C++/VC++ (114)
      • C# (11)
      • Visual Basic (6)
      • 안드로이드 (9)
      • Objective-C (5)
      • JavaScript (4)
      • JSP/Servlet (2)
      • Python (4)
      • 어셈블러 (1)
    • 개발++ (44)
      • Book (11)
        • Joel On Software (10)
      • 프로젝트 관리 (6)
      • Maven (1)
      • 디버깅 (1)
      • DirectX (1)
      • Silverlight (1)
      • RESTful (1)
      • Hacking (1)
      • WDM (4)
      • VoIP (5)
      • 기타 (1)
    • 개발 도구 (15)
      • eclipse (14)
      • Sublime Text (1)
    • 네트워크 (7)
    • 설치 및 배포 (7)
      • InstallShield (2)
      • NSIS (4)
    • 버전 관리 (9)
      • Git (2)
      • CVS (2)
      • Subversion (5)
    • 데이터베이스 (7)
      • Oracle (3)
      • Sybase (2)
      • MS-SQL (2)
    • 단위테스트 (3)
      • JUnit (1)
      • NUnit (2)
    • 버그추적시스템 (2)
      • mantis (2)
    • 운영체제 (7)
      • Windows (5)
      • 리눅스 (2)
    • WAS (3)
      • WebLogic (3)
    • 디자인패턴 (1)
    • 디지털 이미지 프로세싱 (16)

    태그

    AutoExp.dat CppUnit CreateFile CVS Detours Generic ignore파일 Installer Isolation level LogCat OSI OSI 7 layer PRODUCTION_MODE request RunInstaller Runnable SafeInt session setPoperty startWebLogic.cmd STL synchronized TAB time_t VC Vector VS2005 날짜 디버깅 리치에디트컨트롤 매핑모드 문서화 주석 변환 사설 IP 성능 주석 트랜젝션 트리 프로젝트관리 프로파일러 픽셀 형변환 형식 확장자 히스토그램

    메타

    • 로그인
    • 엔트리 피드
    • 댓글 피드
    • WordPress.org
    ©2025 DarkKaiser의 블로그 | WordPress Theme by SuperbThemes