Unity3D

Android Log Print Wrapper (c++)

DragonTory 2020. 5. 19. 10:03
반응형

 

Android Log Print Wrapper (c++)

 

안드로이드에서 로그를 찍고 싶을 때는 __android_log_print 함수를 사용 하면 되는데

이름이 길기도 길고 플랫폼에 따라 코드를 호환 되게 하던지 할 때 매크로로 사용 할 때 래퍼을 사용 하면 좋다.

        #define LOG_Info(...) __android_log_print(ANDROID_LOG_INFO, LOG_NAME, __VA_ARGS__) 

이렇게 해도 되고 

        #define LOGI(fmt, args...) __android_log_print(ANDROID_LOG_INFO, TAG, fmt, ##args)

위와 같이 해도 된다. 

 

MyLog.h

#ifndef __LIB_FOR_LOG_H__
#define __LIB_FOR_LOG_H__

  #define PRINT_LOG_FOR_LIB
  #ifdef PRINT_LOG_FOR_LIB
      #if defined(ANDROID) || defined(__ANDROID__)
          #include <android/log.h>
          #define LOG_NAME "My Log"
          #define LOG_Verse(...) __android_log_print(ANDROID_LOG_VERBOSE, LOG_NAME, __VA_ARGS__)
          #define LOG_Debug(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_NAME, __VA_ARGS__)
          #define LOG_Info(...) __android_log_print(ANDROID_LOG_INFO, LOG_NAME, __VA_ARGS__)
          #define LOG_Warn(...) __android_log_print(ANDROID_LOG_WARN, LOG_NAME, __VA_ARGS__)
          #define LOG_Error(...) __android_log_print(ANDROID_LOG_ERROR, LOG_NAME, __VA_ARGS__)
      #else
          #define LOG_Verse(...) printf( __VA_ARGS__)
          #define LOG_Debug(...) printf( __VA_ARGS__)
          #define LOG_Info(...) printf( __VA_ARGS__)
          #define LOG_Warn(...) printf( __VA_ARGS__)
          #define LOG_Error(...) printf( __VA_ARGS__)
      #endif
  #else
          #define LOG_Verse(...)
          #define LOG_Debug(...)
          #define LOG_Info(...)
          #define LOG_Warn(...)
          #define LOG_Error(...)
  #endif

#endif

 

 

 

반응형