본문으로 건너뛰기

BS2_SetDebugFileLog

+ v2.6.4 SDK 내의 로그 메시지를 파일로 출력시켜 응용프로그램 등의 디버깅에 활용할 수 있습니다.

파일은 절대경로 또는 상대경로로 지정할 수 있으며, 이후 SDK 운영중에 발생되는 로그메시지는 해당 경로에 자동으로 생성됩니다.

이때 저장되는 파일명은 YYYYMMDD.log의 형태를 갖습니다.

함수​

#include "BS_API.h"

int BS2_SetDebugFileLog(uint32_t level, uint32_t module, const char* logPath);

파라미터​

  • [In] level : 오류 수준을 지정

    매크로값의미
    DEBUG_LOG_FATAL0x00000001치명적인 오류
    DEBUG_LOG_ERROR0x00000002일반 오류
    DEBUG_LOG_WARN0x00000004경고
    DEBUG_LOG_API0x00000008API 호출 IN 및 OUT
    DEBUG_LOG_INFO0x00000010오류 외의 정보
    DEBUG_LOG_TRACE0x00000100SDK 자체 디버깅 목적의 정보
    DEBUG_LOG_SYSTEM0x0000000F모든 오류수준을 출력
    DEBUG_LOG_OPERATION_ALL0x000000FF모든 오류수준과 일반 정보를 출력
    DEBUG_LOG_ALL0xFFFFFFFF모든 정보 출력
  • [In] module : 모듈을 지정

    매크로값의미
    DEBUG_MODULE_KEEP_ALIVE0x00000001Keep alive 모듈
    DEBUG_MODULE_SOCKET_MANAGER0x00000002소켓 관리 모듈
    DEBUG_MODULE_SOCKET_HANDLER0x00000004소켓 운영 모듈
    DEBUG_MODULE_DEVICE0x00000008장치 모듈
    DEBUG_MODULE_DEVICE_MANAGER0x00000010장치 관리 모듈
    DEBUG_MODULE_EVENT_DISPATCHER0x00000020이벤트 처리기 모듈
    DEBUG_MODULE_API0x00000040API
    DEBUG_MODULE_MISC0x00000080기타
    DEBUG_MODULE_PACKET0x00000100통신 패킷 처리 모듈
    DEBUG_MODULE_NOTIFY_MANAGER0x00000400Notify 처리 모듈
    DEBUG_MODULE_EVENT0x00000800USB event log 처리 모듈
    DEBUG_MODULE_USB0x00001000USB import 처리 모듈
    DEBUG_MODULE_ALL0xFFFFFFFF전체 모듈
  • [In] logPath : 로그파일이 출력될 경로

반환 값​

성공적으로 수행될 경우 BS_SDK_SUCCESS를 반환하고, 에러가 발생할 경우 상응하는 에러 코드를 반환합니다.

샘플 코드​

C++
const char* CURRENT_DIR = ".";
int sdkResult = BS2_SetDebugFileLog(DEBUG_LOG_ALL, DEBUG_MODULE_ALL, CURRENT_DIR);
if (BS_SDK_SUCCESS != sdkResult)
{
printf("BS2_SetDebugFileLog call failed: %d", sdkResult);
return;
}
C#
const string CURRENT_DIR = ".";
IntPtr ptrDir = Marshal.StringToHGlobalAnsi(CURRENT_DIR);
result = (BS2ErrorCode)API.BS2_SetDebugFileLog(Constants.DEBUG_LOG_OPERATION_ALL, Constants.DEBUG_MODULE_ALL, ptrDir);
Marshal.FreeHGlobal(ptrDir);
if (result != BS2ErrorCode.BS_SDK_SUCCESS)
{
Console.WriteLine("Got error({0}).", result);
return;
}
이 페이지가 도움이 되었나요?