Ace-T's Blog 내 검색 [네이버 커넥트 이웃 합니다~^-^/ 요청 大 환영~~]

[Local] 통합log 처리 방법, log4j, SocketAppender + SocketHubAppender

OpenSource/log4j&slf4j 2014.02.18 17:28
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

<< 제 목 >>

SocketAppender + SocketHubAppender를 이용한 통합 Log

 

<< 목 적 >>

하나의 깡통에 여러개의 node로 분리가 되어있어서 log 보기 어려우셨죠?

로그를 소켓 서버를 띄워서 거기로 모아보겠습니다. 그 소켓서버는 로컬에서 접속을 할 수 있도록

socketHub를 띄운 뒤 local에서는 viewer를 통해 socket hub에 접속! 하여 통합된 로그를 보도록 할 것 입니다.

참 쉽죠잉?? 한마디로 통합 로그!!

 

<< 그 림 >>

 

 

<< 환 경 >>

OS : Win 7 , 64bit

Jdk : 1.6



<< Socket Server 작동!! >>

cmd창에서 log4j-1.2.17.jar와 log4j-server.properties가 있는 곳으로 이동하여 아래의 명령어를 실행.

java -classpath ./log4j-1.2.17.jar org.apache.log4j.net.SimpleSocketServer 8081 log4j-server.properties

Tip. 여러개의 jar를 필요에 의해 같이 묶을 수 있다.[ ; 로 구분해서 뒤에 붙여주면 된다. ^-^good~]

ex) C:\Users\acet\Downloads>java -classpath ./log4j-1.2.17.jar;./acetCmn-1.0.jar;./log4kt-1.6.jar org.apache.log4j.net.SimpleSocketServer 8081 log4j-server.properties


동작 시 아래와 같이 로그들이 보입니다^^;

 

log4j=server.properties 내용


log4j.rootLogger=DEBUG, CA, FA, HU

#

log4j.appender.CA=org.apache.log4j.ConsoleAppender

log4j.appender.CA.layout=org.apache.log4j.PatternLayout

log4j.appender.CA.layout.ConversionPattern=[%d] [%t] [%m]%n

log4j.appender.CA.Threshold=DEBUG


#

log4j.appender.FA=org.apache.log4j.FileAppender

log4j.appender.FA.File=result.log

log4j.appender.FA.layout=org.apache.log4j.PatternLayout

log4j.appender.FA.layout.ConversionPattern=[%d] [%t] [%m]%n

log4j.appender.FA.Threshold=DEBUG


#

log4j.appender.HU=org.apache.log4j.net.SocketHubAppender

log4j.appender.HU.port=9999

log4j.appender.HU.locationInfo=true


# Tip. RollingFileAppender 부분~

1) rootLogger에 추가 : log4j.rootLogger=RFA

2) Appender에 추가 

log4j.appender.RFA=org.apache.log4j.RollingFileAppender

log4j.appender.RFA.File=loging.log

log4j.appender.RFA.MaxFileSize=1MB

log4j.appender.RFA.MaxBackupIndex=1

log4j.appender.RFA.layout=org.apache.log4j.PatternLayout

log4j.appender.RFA.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n



<< log4j.xml 셋팅 - Local PC 2대 설정 >>

 1) SocketAppender 설정

<appender name="socket" class="org.apache.log4j.net.SocketAppender">  

    <param name="Port" value="8081" />  

    <param name="RemoteHost" value="xx.xxx.xxx.xx" />  

    <param name="ReconnectionDelay" value="10000" />  

    <param name="Threshold" value="ALL" />  

</appender> 


<param name="locationInfo" value="true" /> 이녀석을 통해..locationInfo를 기대해보았지만...음..차이를 못느끼겠다. OTL =3=3



<< TEST 시나리오 >>

1) Socket Server를 기동

2) 이기종 Local PC 프로젝트 기동

3) OtrosLogViewer 기동 및 SocketHub Connection

4) Log 발생(Local PC 2대)

아래처럼 web에서 로그를 발생 시킵니다.

5) SocketHub를 통해 확인

   아래와 같이 OtrosLogViewer 를 통해서 확인 합니다.



<< 결과 >>

결과적으로 OtrosLogViewer에서 2개의 로컬 PC log에 대해 확인을 할 수 가 있었다. Good~!!^-^/

또한 Thread의 포트로 구분이 가긴한다..

http-8080-5  / http-bio-8086-exec-12

 

 

<< 아쉬운 점.. >>

아쉬운 점으로는..SocketHubAppender가...layout을 설정을 할 수가 없어서..아쉽다..ㅋㅋ

혹은 OtrosLogViewer에서 UI에서 내가 나타내고자하는 정보가 없다..나타내려면 오픈소스를 수정해야 할 듯 싶다.

소스를 조금 볼려고 했더니..github...공부 할 때가 온것 같다 ㅋㅋㅋㅋ대세라 카던데..암튼 이상 입니다^^;


                                          - END -







acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

[log4j viewer] otroslogviewer (SocketHub 사용)

OpenSource/log4j&slf4j 2014.02.07 22:59
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

otroslogviewer 사용하기(SocketHub 사용)


 다운로드

 log4j.xml 설정

 OtrosLogViewer SocketHub 설정 

 결과

 참고 사이트



<< 다운로드 >>

  https://code.google.com/p/otroslogviewer/downloads/detail?name=olv-2013-01-24.zip&can=1&q=



download 후 압축을 해제 하면 아래와 같이 실행 파일이 보인다. 떠블클릭 해준다~

(단, JDK가 깔려있어야 동작한다~~)


아래와 같이 OtrosLogViewer가 Welcome이라며~반겨준다. ㅎㅎㅎ 


이번에 해볼 것은 SocketHubAppender 이다.

어떻게 사용하는 것인가?? 간단히 말해 Hub를 WAS쪽 log4j.xml을 사용해서 띄워놓고, OtrosLogViewer에서

접속하여 log를 땡겨오면 되는 것이다.


<< log4j.xml 설정 >>

   1) appender 추가(SocketHubAppender)

        <appender name="socketHubAppender" class="org.apache.log4j.net.SocketHubAppender">

<param name="Port" value="9004" />

<param name="locationInfo" value="true" />

<param name="Threshold" value="DEBUG" />

</appender> 


  2) appender-ref ref 추가

      <appender-ref ref="socketHubAppender" /> 


<< OtrosLogViewer SocketHub 설정 >>

File > Connect to Log4j Socket Hub 메뉴를 클릭 한뒤!  SocketHubAppender를 설정한 서버의 ip와 port를 넣어주면 된다. Test가 로컬이라서 localhost이지만 dev서버라면 해당 서버의 로그를 OtrosLogViewer를

통해 볼 수 있다. Good~^0^/



<< 결과 >>

위의 Socket Hub와 연결이 되어지면 로그가 tail 한 것처럼 자신의 로컬에서 볼 수 가 있으며

여러가지 옵션으로 골라 볼 수 도 있다.


Viewer는..찾아보다보니 여러가지가 있었다. 

  1) Chainsaw(http://en.wikipedia.org/wiki/Chainsaw_(log_file_viewer)) 

  2) LogExpert(http://logexpert.codeplex.com/)

  3) OtrosLogViewer

음...개인적으로 3번이 괜찮은 것 같다. ㅋㅋ 


<< 참고 사이트 >>

  http://www.youtube.com/watch?v=3PBym2C9i7k

동영상이며, 여러가지 사용하는 모습을 볼 수 있었다.


        - END -


acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

티스토리 툴바