이 화면은 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); }