<< 제 목 >>
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 -
'OpenSource > log4j&slf4j' 카테고리의 다른 글
log4j2 를 설정 해보자! (0) | 2014.05.29 |
---|---|
통합 log 관련 테스트- AsyncAppender (0) | 2014.03.13 |
[log4j viewer] otroslogviewer (SocketHub 사용) (0) | 2014.02.07 |
log4j를 알아보자 (0) | 2014.01.09 |
slf4j log 안나오는 현상 + Jboss (0) | 2013.10.10 |