로그 파일에서 시간 간격 추출하기 – JavaScript

로그에서 특정 문자열 사이에 시간 간격을 알아야 하는 경우가 있다. 실시간 성능 테스트할 때도 필요하고 메일로 전달 받은 로그를 분석할 때도 그렇다. 로그에 표시되는 시간을 사용하여 시간을 계산하는 작은 스크립트를 설명한다. 웹뷰에서 동작하는 서비스를 개발할 때 자주 사용했음으로 안드로이드 앱 로그에서 특정 문자열 사이의 시간 간격을 표시하는 예를 들겠다.

안드로이드 로그 읽기

아래 명령을 사용하여 안드로이드 앱의 로그를 읽을 수 있다.

adb logcat > log.txt

adb 명령어가 없다면 아래 명령으로 설치하자.

mkdir android
cd android
wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
unzip sdk-tools-linux-3859397.zip
./tools/bin/sdkmanager "platform-tools"
./platform-tools/adb –version

스크립트 다운로드

이제 log.txt 파일이 준비되었다면 이 파일을 처리할 logtimer.js 스크립트 파일을 내려받자.

이 스크립트를 사용하려면 Node.js 설치가 필요하다. 이 스크립트에서 사용할 npm 모듈 2개를 다운로드 받는다.

npm install cli -S
npm install moment -S

설정 파일 사용하여 실행

이 스크립트는 검색할 문자열을 지정하는 설정 파일이 필요하다. 아래 스크립트를 config.js 이름으로 저장한다.

module.exports = [
  {
    "pattern": "chrome",
    "description": "chrome"
  }
];

pattern 속성에 검색하고 싶은 문자열 혹은 정규식 문자열을 지정하고 description 속성에 콘솔에 표시할 문자열을 입력한다. 아래 처럼 사용할 수 있다.

node logtimer.js < log.txt
adb logcat | node logtimer.js

로그 파일에서 특정 문자열들 간에 시간 간격을 알 수 있다. 다른 로그 파일에서 사용하고 싶다면 스크립트에서 시간 인식하는 코드를 조금 수정하여 사용하길 바란다. 안드로이드 로그만 보려한다면 logtimer 모듈을 사용해도 된다.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중

This site uses Akismet to reduce spam. Learn how your comment data is processed.