이 화면은 XPlusLogger.ocx 컴포넌트에 대한 샘플 화면이다.
XPlusLogger.ocx 컴포넌트는 XPlusAgent용 화면에서 로그를 파일에 저장하기 위한 기능을 제공한다.
// Xlogger 초기화 버튼 클릭시 이벤트 처리
function btnInitXLogger_on_mouseup(objInst)
{
var strLogDir = "C:\\xFrame\\log";
var strLogFilePrefix = "XPlusLogger";
var nLogSaveDays = 10;
var strLogLevel = "DEBUG";
var nEncodeFlag = 0;
/**
* XPlusLogger 초기화, 처음 시작시 한번만 호출해야 함
* @param pLogDir 로그 저장 디렉토리 경로
* @param pLogFilePrefix 로그 파일 이름
* @param nLogSaveDays 이전 로그 파일 보관 일자
* @param pLogLevel 로그 레벨 ("DEBUG" < "INFO" < "WARN" < "ERROR" < "FATAL")
* @param nLogEncFlag 로그 암호화 여부 플래그 (0 또는 1)
* @returns 처리 결과 값
* 0: Success
* 1: Invalid Parameter
* 9: Already Initialized
*/
var nRet = objXPlusLogger.innerctrl.InitXPlusLogger(strLogDir, strLogFilePrefix, nLogSaveDays, strLogLevel, nEncodeFlag);
factory.consoleprint("InitXPlusLogger Return Value = " + nRet);
if(nRet != 0) {
screen.alert("InitXPlusLogger Fail, Error Code = " + nRet);
}
/**
* 로그 파일 내용을 UTF-8 형식으로 저장한다.
* @param nUtf8Flag UTF-8 형식 사용 여부 플래그 (0: 사용안함, 1:사용)
* @return
* 0 : Success
* 1 : Invalid Log File Name Type
*/
objXPlusLogger.innerctrl.SetUtf8Flag(1);
/**
* BOM 기록 여부 설정한다.
* @param nUtf8Flag UTF-8 형식 사용 여부 플래그 (0: 기록안함, 1:기록함)
* @return
* 0 : Success
* 9: Not Initialized
*/
objXPlusLogger.innerctrl.SetBomWriteFlag(1);
/**
* 로그 파일 이름 형식을 지정한다.
* @param nLogFileNameType 파일 이름 형식
* 1 : YYYYMMDD_hhmmss_ThreadID 로그 파일이 시간별로 기록됨
* 2 : YYYYMMDD_hhmmss 로그 파일이 시간별로 기록됨
* 3 : YYYYMMDD 로그 파일이 날짜별로 기록됨 (Default)
* @return
* 0 : Success
* 9: Not Initialized
*/
objXPlusLogger.innerctrl.SetLogFileNameType(3);
}
function btnGetLogFlag_on_mouseup(objInst)
{
/**
* 로그 기록 여부 플래그 리턴 (0으로 설정시 로그가 기록되지 않음)
* @returns nLogFlag 로그 기록 여부
* 0: 로그 기록하지 않음
* 1: 로그 기록
* 9: Not Initialized
*/
factory.consoleprint("GetLogFlag Return Value = " + objXPlusLogger.innerctrl.GetLogFlag());
}
function btnSetLogFlag_on_mouseup(objInst)
{
var nLogFlag, nRet;
nLogFlag = objXPlusLogger.innerctrl.GetLogFlag();
if(nLogFlag == 1) {
/**
* 로그 기록 여부 플래그 설정 (0으로 설정시 로그가 기록되지 않음)
* @param nLogFlag 로그 기록 여부 (0/1)
* @returns 처리 결과 값
* 0: Success
* 1: Invalid Parameter
* 9: Not Initialized
*/
nRet = objXPlusLogger.innerctrl.SetLogFlag(0);
}
else {
nRet = objXPlusLogger.innerctrl.SetLogFlag(1);
}
factory.consoleprint("SetLogFlag Return Value = " + nRet);
}
function btnGetLogLevel_on_mouseup(objInst)
{
/**
* 로그 레벨 리턴 ("DEBUG", "INFO", "WARN", "ERROR", "FATAL", "UNKNOWN")
* @returns 로그 레벨 문자열
*/
factory.consoleprint("GetLogLevel Return Value = " + objXPlusLogger.innerctrl.GetLogLevel());
}
// 로그 기록 필터링 레벨 설정 버튼 클릭 이벤트 처리
function btnSetLogLevel_on_mouseup(objInst)
{
/**
* 로그 레벨 설정 ("DEBUG" < "INFO" < "WARN" < "ERROR" < "FATAL")
* @param pLogLevel 로그 레벨 ("DEBUG", "INFO", "WARN", "ERROR", "FATAL")
* @returns 처리 결과 값
* 0: Success
* 1: Invalid Parameter
* 9: Not Initialized
*/
nRet = objXPlusLogger.innerctrl.SetLogLevel("INFO");
factory.consoleprint("SetLogLevel Return Value = " + nRet);
if(nRet != 0) {
screen.alert("SetLogLevel Fail, Error Code = " + nRet);
}
}
// 로그 기록 버튼 클릭 이벤트를 처리한다.
function btnLogWrite_on_mouseup(objInst)
{
var nRet;
nRet = objXPlusLogger.innerctrl.LogDebug("DEBUG MESSAGE");
factory.consoleprint("LogDebug Return Value = " + nRet);
nRet = objXPlusLogger.innerctrl.LogInfo("INFO MESSAGE");
factory.consoleprint("LogInfo Return Value = " + nRet);
nRet = objXPlusLogger.innerctrl.LogWarn("WARN MESSAGE");
factory.consoleprint("LogWarn Return Value = " + nRet);
nRet = objXPlusLogger.innerctrl.LogError("ERROR MESSAGE");
factory.consoleprint("LogError Return Value = " + nRet);
nRet = objXPlusLogger.innerctrl.LogFatal("FATAL MESSAGE");
factory.consoleprint("LogFatal Return Value = " + nRet);
}