상세 컨텐츠

본문 제목

[Eclipse] 빠른 로그 분석을 위한 초기 개발 세팅하기

프로그래밍 개발 환경

by 유연한 개발자 2022. 9. 23. 16:31

본문

 프로그래밍 개발을 진행할 때 중요한 것 중 하나가 로그 분석 역량입니다. 개발을 하면서 버그가 아예 일어나지 않을 가능성은 거의 없습니다. 이때, 오류가 발생을 하면 로그를 분석하고 원인을 빠르게 찾아내는 능력이 있다면 개발 시간을 단축할 수 있습니다. 오늘은 개발 툴인 Eclipse를 설치 후 효율적인 로그 분석을 위한 세팅을 알아보겠습니다. 

 

 

첫 번째 방법: 가독성을 위해 Marketplace에서 플러그인 다운받기

 

Eclipse IDE를 설치하면 제공하는 Eclipse Marketplace를 활용하면 유용한 플러그인들을 설치할 수 있습니다. 플러그인을 설치하지 않고 서버를 구동시켜 콘솔 창을 띄우면 검은 것은 글씨이고 흰 것은 바탕색이니 한눈에 로그가 들어오지 않게 됩니다.

 

 

로그 관련해서도 괜찮은 플러그인들이 많은데, 그중에서도 Grep Console을 유용하게 쓰고 있습니다.  Grep Console은 로그를 필터링하고 색상을 부여하여 원하는 로그를 쉽게 발견할 수 있도록 가독성을 높여주는 플러그인입니다. Eclipse 뿐만 아니라 Intellij 버전도 있어서 원하는 IDE에서 다운로드하여 적용할 수 있습니다. 

 

그럼, Eclipse에서 설치 과정을 알아보겠습니다.

 

Eclipse 메뉴 화면

위 그림처럼 Eclipse 상단 메뉴에서 Help > Eclipse Marketplace를 클릭합니다.

 

 

Eclipse Marketplace 화면

그 후 출력되는 Marketplace 팝업에서 grep console를 검색하면 위와 같은 리스트가 노출됩니다.  저는 이미 grep console을 설치했기 때문에 installed라고 출력되지만, 설치를 하지 않은 플러그인은 install이라고 뜹니다. install 버튼을 클릭해서 설치를 진행합니다. 

 

 

 

Grep Console 사용하기 

 

설치 완료 후 Eclipse 재시작을 하면 이제 Grep Console을 사용할 수 있습니다. 콘솔 창에서 아래 그림과 같이 (?) 아이콘을 클릭하거나 원하는 문구를 드래그해서 해당 문구에 색상을 변경할 수 있습니다. 

 

콘솔창에서 오른쪽 상단의 (?) 아이콘을 클릭하거나 원하는 로그 문구를 드래그합니다.

 

Log Output > General

 

 

원하는 문구를 드래그하고 마우스 오른쪽을 클릭하여 Add Expression > Log Output 을 클릭합니다. 

 

 

Expression 텍스트 박스란에 제가 드래그한 문구가 입력되어 있습니다.

  • Expression: \Q는 Quote입니다. 제가 임의로 드래그한 문구가 이미 입력되어 있습니다.  해당 텍스트 박스란에 원하는 정규표현식을 직접 입력해도 됩니다. 
  • Name: 원하는 이름을 입력하면 됩니다. 저는 My Info라는 이름을 입력하겠습니다. 
  • Case sensitive: 대소문자를 구분할 것인지 여부입니다. 
  • Styles in console: 콘솔 창에 스타일을 표시할지 여부입니다. 
  • Show in Grep View: 해당 문구가 로그에 출력 시, Grep View 창에서 따로 모아서 볼 것인지 여부입니다. 해당 체크박스를 선택하면, 콘솔창 이외에 Grep View 창에서 필터링해서 볼 수 있습니다. 대신, Grep View 탭의 값을 설정해주어야 합니다. 
  • Show in Statistics View: Grep Statistics 창에서 해당 문구 노출 횟수와 통계를 보기 위한 옵션입니다.
  • Notifications: 해당 문구가 출력되었을 때 알림을 동작할 것인지 여부입니다. Notifications 탭을 설정해주어야 합니다. 

콘솔 창에서 마우스 오른쪽 클릭으로 노출되는 메뉴 중에서 Add Expression > New folder는 폴더로 만들어 그룹별로 관리해줄 수 있습니다. 

 

Styles & Links

Styles & Links 탭을 클릭합니다. 여기에서는 해당 문구에 관련해서 여러 가지 스타일을 적용할 수 있습니다. 

 

저는 미리 Info를 설정해 보았습니다.

New 버튼을 클릭하여 신규 스타일을 지정할 수 있습니다. 미리보기가 노출되니 직접 효과를 확인하면서 옵션을 지정할 수 있습니다. 

 

New 버튼으로 스타일을 적용한 후에는 왼쪽 박스의 Whole line 행에 적용한 스타일이 위 그림처럼 노출됩니다. 

여기까지 진행한 후 OK를 누르면 아래와 같이 콘솔 창에 적용된 것을 볼 수 있습니다. 

 

Grep View

앞의 탭의 Gerneral 탭에서 Show in Grep View 체크박스를 선택한 경우에만 적용되는 탭입니다. rewrite에 정규표현식을 입력하면(문자열도 가능합니다) 해당 로그들을 필터링하여 Grep View 창에 보여 줍니다. 표현식 중에 중괄호("{0}, "{1}", "{2} 등)를 입력하여 필터링한 로그의 내용을 Grep View에 출력할 수 있습니다(0,1,2는 출력되는 로그의 인덱스입니다).

 

Statistics

 

위 항목을 간단히 설명하면 아래와 같습니다. 

Counter

  • Label: 해당 텍스트 박스에 값을 입력하면 로그에서 해당 값의 발생 횟수를 계산하여 Grep Statistics 통계 창에 표시됩니다. 

Value

  • Label: 위에서 지정한 카운터 '라벨'의 값 중에서, Grep Statistics 창에 노출이 되는 항목 이름입니다.
  • Pattern: Grep Statistics 창에 표시되는 라벨(항목 이름)의 표시방식을 정규표현식으로 표현할 수 있습니다.

 

 

(?) 메뉴에서 Grep Console 관리하기

 앞에서 이야기한 방법으로 등록한 필터, 스타일은 (?) 메뉴를 클릭하면 확인할 수 있습니다. (?) 메뉴에서는 앞에서 이야기한 기능을 추가/삭제할 수 있고, 그룹을 지정하여 폴더별로 관리도 할 수 있습니다. 

 

 

위 화면 중앙의 엑스박스, 깔때기, 동그라미, 세모 아이콘은 스타일, 필터링, 알림, 통계 여부 아이콘입니다. 아까 지정한 설정이라 하더라도 위 메뉴에서 일괄적으로 출력 여부를 설정을 제어할 수 있습니다. 

 

위 그림처럼 원하는 로그 구문을 필터링하여 쉽게 로그를 찾을 수 있습니다.

 

 

여기에서 소개된 자료 이외에 추가 정보를 얻고 싶으신 분들은 공식 가이드를 참고하시기 바랍니다.

 

https://marian.schedenig.name/wp-content/static/grepconsole_userguide/#overview

 

Grep Console - User Guide

The text of the matched capture group. Only available in context where there is a specific capture group to which the pattern string refers. For example, in a link action, the parameter refers to the expression item to which the link is attached. If the li

marian.schedenig.name

 

 


두 번째 세팅: 콘솔 창의 출력 제한 없애기

콘솔 창을 이용하다보면 많은 로그 때문에 원하는 로그가 빠르게 지나가버리는 경우가 있습니다. 너무나 빨리 지나가서 로그를 놓쳤을 경우에는 콘솔창의 출력 글자 제한으로 인해 원하는 로그를 찾을 수 없는 경우가 생깁니다. 콘솔창에서 빠르게 지나가버린 로그를 확인하기 위해서는 콘솔 출력 제한을 없애야 합니다.

 

 

출력 제한 해제하기

Preferences 메뉴로 이동합니다. 가장 빠르게 이동하는 방법은 콘솔창 > 마우스 오른쪽 클릭 > preferences로 이동할 수 있습니다. 

 

 

Preferences 메뉴를 클릭하면 아래와 같은 창이 출력됩니다. 상단 메뉴에서도 Preferences를 찾을 수 있습니다.

 

 

콘솔창에서 preferences 메뉴로 이동한 경우 Run/Debug > Console 메뉴가 자동으로 필터링되어 빠르게 진입 가능합니다.

 

노출된 Preferences 팝업창에서 왼쪽을 살펴보면 Run/Debug > Console이 선택되어 있습니다. Eclipse 상단 메뉴에서 Preferences로 진입한 경우 직접 Run/Debug > Console을 클릭해 찾아들어가야 합니다. 

 

오른쪽 체크박스 리스트 중 Limit console ouput을 체크 해제합니다.(기본은 체크가 되어있습니다) 이 선택 박스를 체크 해제하면, 콘솔 창의 로그가 많이 출력되더라도 로그가 넘어가는 일은 없습니다.

 

 

 


세 번째 세팅: 콘솔 창에서 출력되는 로그를 파일로 저장하기 

로그 분석을 Eclipse 콘솔 창만을 이용하는 방법도 있겠으나, 로그를 외부 도구를 이용해서 볼 때 더 편리한 경우도 있습니다. 앞에서 이야기한 두 번째 방법의 경우, 컴퓨터 성능이 낮으면 로그 출력의 제한이 해제되기 때문에 너무 많은 로그라면, 로그 찾기에 어려움을 느낄 수 있습니다. 

 

개인적으로는 파일로 저장하여 Notepad++로 보는 것이 편합니다. 특정 단어로 검색하기에도 편하고 로그 내용을 다른 개발자와 공유하기에도 파일만 전달하면 되기 때문에 편리합니다. 

 

로그를 파일로 저장하는 방법

 

Eclipse 상단에 Run 메뉴 > Run Configurations... 를 클릭합니다. 

 

저는 현재 Tomcat를 로컬 서버로 쓰고 있습니다. Run Configurations.. 을 클릭하면 현재 설정된 서버 설정 메뉴로 넘어갑니다. 즉, 서버에서 출력하는 로그들을 따로 저장하는 방법인 것입니다. 

 

노출된 팝업에서 상단 탭의 Common 탭을 클릭합니다. 

 

 하단의 Standar Input and Output 레이아웃을 살펴보면 Output File 항목이 체크 해제되어 있을 것입니다. 위 그림은 설정을 완료한 제 Eclipse이기 때문에 경로가 설정되어 있습니다. File System... 버튼을 클릭하면 원하는 외부 폴더에 지정하여 로그를 파일에 저장할 수 있습니다. Workspace..로 프로젝트 안에 저장할 수도 있습니다. 

 

주의할 점: 서버를 재시작하면 파일에 저장된 로그 데이터가 삭제됩니다. 

서버를 재시작하면 기존에 저장되었던 로그 데이터가 처음부터 다시 쌓이게 됩니다. 서버를 재시작하기 전에 로그를 백업하시기 바랍니다. 


로그 설정과 코드에 로그만 잘 찍어도 버그, 오류 분석시간이 단축된다. 

 

프로젝트를 하다 보면 노트북이나 환경이 바뀌어서 새로 Eclipse를 설치해야 하는 경우가 있습니다. 위의 과정이 귀찮을 수는 있지만 한 번 적용해놓으면 오류 분석시간을 단축할 수 있습니다. 

 

특히, Grep Console로 잘 입력해서 필터링하면, 로그를 분석하기 위해 중단점을 입력하거나 alert을 띄우는 불필요한 과정을 크게 줄일 수 있습니다. Grep Console만 잘 활용해도 원하는 로그를 찾는 시간이 크게 줄어드는 경험을 얻을 수 있을 것입니다.

 

 

댓글 영역