[UE4] Log
개발을 하는 과정에서 Log를 남겨 확인해야하는 일이 굉장이 많은데 이것을 블루프린트와 C++ 두가지 방법으로 출력하는 방법을 알아보자!
Blueprint
좌측 상단에서 실행이 된다.
C++
화면 출력
#include "Engine.h"
//...
GEngine->AddOnScreenDebugMessage(int32 Key,
float TimeToDisplay,
FColor DisplayColor,
const FString& DebugMessage,
bool bNewerOnTop,
const FVector2D& TextScale);
GEngine->AddOnScreenDebugMessage(-1, 10.0f, FColor::Yellow, TEXT("Hello World!"));
로그 출력
//...
UE_LOG('로그 카테고리', '로그 상세 수준', '로그 내용');
//로그 상세 수준
//Log : 로그 파일 출력 O / 게임 내의 콘솔 출력 X / 에디터의 출력 로그 탭을 통해 계속해서 출력
//Warning : 콘솔 및 로그 파일 출력 O, 노란색으로 표시
//Error : 콘솔 및 로그 파일 출력 O, 빨간색으로 표시
//Display : 콘솔 및 로그 파일 출력 O
//Verbose : 로그 파일 출력 O, 게임내의 콘솔 출력 X, 일반적으로 자세한 로깅 및 디버깅에 사용
//VeryVerbose : 로그 파일 출력 O, 게임내의 콘솔 출력 X,
// 일반적으로 대량의 로그를 출력하는 상세한 로깅 사용
UE_LOG(LogTemp, Log, TEXT("Hello World!!!"));
로그 포맷
//FString
UE_LOG(LogTemp, Log, TEXT("Character Name :: %s"), *MyCharacter->GetName());
//Bool
UE_LOG(LogTemp, Log, TEXT("Character is Die :: %s"), MyCharacter->GetIsDead());
//Int
UE_LOG(LogTemp, Log, TEXT("Character ID :: %d"), MyCharacter->GetID());
//Float
UE_LOG(LogTemp, Log, TEXT("Character HP :: %f"), MyCharacter->HP);
//FVector
UE_LOG(LogTemp, Log, TEXT("Character Location :: %s"), MyCharacter->GetActorLocation().ToString());
//FName
UE_LOG(LogTemp, Log, TEXT("Character FName :: &d"), MyCharacter->GetFName().ToString());
//
UE_LOG(LogTemp, Log, TEXT("Name:%s, HP:%f", MP:%f), *MyCharacter->GetName(), MyCharacter->Hp, MyCharacter->MP);
개발 과정에서 디버깅과 로깅은 필수이다. 블루프린트로 개발 시 PrintString 이벤트를 이용하여 화면에 출력하는 방법으로 수치, 디버깅 포인트를 찾고는 했었는데 C++ 또한 AddOnScreenDebugMessage함수를 이용하여 같은 이벤트이며, UE_LOG함수를 활용하여 출력 로그로 확인할 수 있다.
'Game Programming > UE4' 카테고리의 다른 글
[UE4] BindWidget (0) | 2023.10.28 |
---|---|
[UE4] Smart Pointer (0) | 2023.10.21 |
[UE4] Delegate (0) | 2023.09.17 |
[UE4] TMap (0) | 2023.09.09 |
[UE4] TArray (0) | 2023.09.02 |