0. 설명
UE4_LOG를 확장하여 로그를 남기는 클래스와 함수명, 그리고 코드 라인수를 함께 로깅하도록 하는 매크로.
빌드 확인 : 4.17.2
1. Code
#pragma once
#define GET_CLASS_NAME_WITH_FUNCTION FString(__FUNCTION__)
#define GET_LINE_NUMBER FString::FromInt(__LINE__)
#define LOG(LogCategory, Format, ...) \
UE_LOG(LogCategory, Log, TEXT("%s [%s] : %s"), *GET_CLASS_NAME_WITH_FUNCTION, *GET_LINE_NUMBER, *FString::Printf(Format, __VA_ARGS__))
#define LOG_DISPLAY(LogCategory, Format, ...) \
UE_LOG(LogCategory, Display, TEXT("%s [%s] : %s"), *GET_CLASS_NAME_WITH_FUNCTION, *GET_LINE_NUMBER, *FString::Printf(Format, __VA_ARGS__))
#define LOG_VERBOSE(LogCategory, Format, ...) \
UE_LOG(LogCategory, Verbose, TEXT("%s [%s] : %s"), *GET_CLASS_NAME_WITH_FUNCTION, *GET_LINE_NUMBER, *FString::Printf(Format, __VA_ARGS__))
#define LOG_VERY_VERBOSE(LogCategory, Format, ...) \
UE_LOG(LogCategory, VeryVerbose, TEXT("%s [%s] : %s"), *GET_CLASS_NAME_WITH_FUNCTION, *GET_LINE_NUMBER, *FString::Printf(Format, __VA_ARGS__))
#define LOG_WARNING(LogCategory, Format, ...) \
UE_LOG(LogCategory, Warning, TEXT("%s [%s] : %s"), *GET_CLASS_NAME_WITH_FUNCTION, *GET_LINE_NUMBER, *FString::Printf(Format, __VA_ARGS__))
#define LOG_ERROR(LogCategory, Format, ...) \
UE_LOG(LogCategory, Error, TEXT("%s [%s] : %s"), *GET_CLASS_NAME_WITH_FUNCTION, *GET_LINE_NUMBER, *FString::Printf(Format, __VA_ARGS__))
#define LOG_FATAL(LogCategory, Format, ...) \
UE_LOG(LogCategory, Fatal, TEXT("%s [%s] : %s"), *GET_CLASS_NAME_WITH_FUNCTION, *GET_LINE_NUMBER, *FString::Printf(Format, __VA_ARGS__))
'UE4' 카테고리의 다른 글
[UE4] FTimerManager::SetTimer/ClearTimer/GetTimerElapsed (0) | 2023.04.24 |
---|---|
[UE4] World 내 Object/Actor 순회 (0) | 2023.04.24 |
[UE4] 프로퍼티 및 UPROPERTY 주요 지정자 (0) | 2023.04.24 |
[UE4] 클래스 및 UCLASS 주요 지정자 (0) | 2023.04.24 |
[UE4] 함수 및 UFUNCTION 주요 지정자 (0) | 2023.04.24 |