JEX모니터링 로그에 거래 특정 필드를 DB필드에 매핑

69 views
Skip to first unread message

Icjun Park

unread,
Mar 31, 2013, 9:28:57 PM3/31/13
to jexf...@googlegroups.com
대구은행 이민형 대리 요청 사항입니다.
 
이 내용은 이전에 jexframe 블로그에 올라온 주제입니다.
 
 
 
 
 
====================================================================================
JEX 모니터링 테이블인 JEX_TRSC_STR_LOG 에서 거래의 특정 필드(IN/OUT)를 JEX_TRSC_STR_LOG의 예비필드에 데이터를 삽입하는 방법을 설명합니다. 아래 방법을 통해서 쌓힌 데이터들은 거래에 대한 통계와 같은 고객의 필요한 데이터 수집에 사용되어 집니다.

1. jex.prop 파일에 JEX_CONFIG 속성값으로선언된 jex.config 파일을 열어서 아래 부분을 추가합니다.



<jex>
        <monitoring>
                <prjid>LOGTEST_ADMIN</prjid>
                <target_db>BIZ_DB</target_db>
                <login><![CDATA[main_adm_0001_01_r001:USR_ID]]></login>
                <target_field><![CDATA[COM_ITEM_1:USR_ID,COM_ITEM_2:USR_IP]]></target_field>
        </monitoring>
<jex/>

위 target_field 속성에서 데이터를 쌓은 DB 필드명, IN/OUT필드를 정의를 콜론(:)으로 매핑(순서는 DB필드명이 먼저여야 합니다. 꼭) 정의할 수 있으며, 여러 값이 있을 경우 콤마(,)로 구분합니다.

그리고 아래 태그와 같인 모니터링 로그를 남기는 룰 정의에서 로그 레벨이 OFF가 아닌, 그 이상의 레벨이어야 합니다.

    <logs>
        <rule>
          <monitoring level="INFO" max="5"  backuppath="${JEX_HOME}/logs/backup" fatchsize="5">
              <handler>ASyncDB</handler>
              <pattern><![CDATA[%g%n]]></pattern>
          </monitoring>


위 설정 후 WAS 기동시에 Jex Context가 초기화 될 시에 아래 로그로 해당 설정 부분이 확인가능합니다.(디폴트 로그 레벨이 INFO 이상인 상태)


[2012-11-27 14:10:25:513][INFO ] : ================================================================================
                       jex.log.impl.JexDefaultSystemLogger                      
================================================================================
Project Id              :: LOGTEST_ADMIN
Login Service           :: [main_adm_0001_01_r001]
Login Service id Field  :: [USR_ID]
Target DB               :: BIZ_DB
isInfoLevel             :: true
Not Logging Service     :: null
LogInfo                 :: {WVIW=start log : true,end   log : true,start Image log : false,end Image log : false,error log : true, IMO=start log : true,end   log : true,start Image log : false,end Image log : false,error log : true, BCS=start log : true,end   log : true,start Image log : false,end Image log : false,error log : true, WSVC=start log : true,end   log : true,start Image log : true,end Image log : true,error log : true, ASVC=start log : true,end   log : true,start Image log : true,end Image log : true,error log : true, CCS=start log : true,end   log : true,start Image log : false,end Image log : false,error log : true, IDO=start log : true,end   log : true,start Image log : false,end Image log : false,error log : true, WACT=start log : true,end   log : true,start Image log : false,end Image log : false,error log : true, SVC=start log : true,end   log : true,start Image log : true,end Image log : true,error log : true}
Logger id               :: monitoring
Console Logger id       :: default
DBField                 :: [COM_ITEM_1, COM_ITEM_2]
MappingField            :: [USR_ID, USR_IP]

SessionDBField          :: null
SessionMappingField     :: null
================================================================================



그리고 해당 거래를 실행시에 아래와 같이 해당 DB필드에 데이터가 쌓인 것을 확인할 수 있습니다.
 
 
 
 
Reply all
Reply to author
Forward
0 new messages