[awk] log4j를 로그를 이용한 실행시간 분석

Log4j 로그를 이용한 실행 시간 분석 예제

log4j 를 이용한 출력 결과에서 입력된 시간 이상의 로그를 추출하는 awk 스크립트.
(연습하는 중이라 내용에 불필요한 데이터가 많습니다..또한 더 쉬운 방법도 있을 겁니다.)

coozplz@localhost:~/tutorial/awk$ cat catalina.out

[Sample.log]

[INFO ] [2014-03-24 10:01:59] [Processor:534] connectionAlerting – 양재남[0991, 0424] // Alerting END takes 127ms, callID=294352, callingNum=0424, calledNum=0704]
[INFO ] [2014-03-24 10:01:59] [Processor:306] connectionEstablished – 문창운[0990, 0313] // Established END takes 94ms, callID=0, callingNum=0313, calledNum=0286]

[getExecutionTime.awk]

#
# getExecutionTime.awk
# 설명: 로그 파일에서 실행 시간만을 추출한다.
#
BEGIN {
   print “”;
   print “==================================================================”;
   print “사용법: awk -f getExecutionTime.awk iTime=[실행시간] [파일명]     “;
   print “실행시간 입력이 없는 경우 1000 ms 를 기본값                        “;
   print “==================================================================”;
   print “”;
}
{
   timeStr = $14;     # output= 127ms,  
   time = substr(timeStr, 0, length(timeStr) -length(“ms,”)+1);   # time=127
   time = time+0.1; #문자열을 숫자로 캐스팅한다.
   if(length(iTime) == 0) {
       iTime = 1000;
   }
   if( time > iTime ) {
       print $0;
   }
}

[사용방법]

사용법: awk -f getExecutionTime.awk iTime=[실행시간] [파일명]     
실행시간 입력이 없는 경우 1000 ms 를 기본값                        
coozplz@localhost:~/tutorial/awk$ awk -f getExecutionTime.awk iTime=100 catalina.out

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s