Taene's

[U C++] UE_LOG() 본문

Unreal5/Unreal C++

[U C++] UE_LOG()

taene_ 2024. 7. 3. 18:24

UE_LOG()

UE_LOG('로그 카테고리', '로그 상세 수준', '로그 포맷(내용)');
UE_LOG(LogTemp, Log, TEXT("%s"), TEXT("Hello Unreal!"));

 

로그 카테고리

출력된 로그가 어떤 시스템에서 발생한 로그인지 알려주고, 기본적으로 90개 이상의 카테고리를 제공한다.

특정한 카테고리에 속하지 않고 임의로 띄우는 로그라면 LogTemp를 쓴다.

아래는 커스텀 로그 카테고리를 만드는 방법이다.

custom.h
DECLARE_LOG_CATEGORY_EXTERN(Category_Name, Log, All);
custom.cpp
DECLARE_LOG_CATEGORY_EXTERN(Category_Name);
// 로그를 사용할 클래스 헤더에
#include "custom.h" //정의한 로그의 헤더를 추가 후 사용

 

로그 상세 수준

더보기

Log
로그 파일 출력O, 게임 내의 콘솔 출력X, 에디터의 출력 로그 탭을 통해 계속해서 출력된다. (일반적인 로그인 경우)

Warning
콘솔 및 로그 파일 출력O, 노란색으로 표시.

Error
콘솔 및 로그 파일 출력O, 빨간색으로 표시.

Display
콘솔 및 로그 파일 출력O

Fatal
콘솔 및 로그 파일 출력O, 로그가 비활성화된 경우에도 작동 중단.

Verbose
로그 파일 출력O, 개임 내의 콘솔 출력X, 일반적으로 자세한 로깅 및 디버깅에 사용

VeryVerbose
로그 파일 출력O, 개임 내의 콘솔 출력X, 일반적으로 대량의 로그를 출력하는 상세한 로깅 사용

 

로그 포맷

더보기

FString형 (로그에서는 %s는 TCHAR* 타입을 받는다. 이것은 *FString에 대응된다.)

UE_LOG(LogTemp, Log, TEXT("Character Name : %s"), *MyCharacter->GetName());

 

bool형

UE_LOG(LogTemp, Log, TEXT("Character is Dead : %s"), MyCharacter->IsDie ? TEXT("true") : TEXT("false"));

 

int형

UE_LOG(LogTemp, Log, TEXT("Character HP : %d"), MyCharacter->Hp);

 

float형

UE_LOG(LogTemp, Log, TEXT("Character Stamina : %f"), MyCharacter->Stamina);

 

FVector형

UE_LOG(LogTemp, Log, TEXT("Character Location : %s"), MyCharacter->GetActorLocation().ToString());

 

FName형

UE_LOG(LogTemp, Log, TEXT("Character FName : %d"), MyCharacter->GetFName().ToString());

 

# 언리얼 엔진에서는 String을 다룰 때, TEXT("")를 지정해서 다뤄야 한다. (2byte 문자열인 유니코드 문자들을 통일된 문자열로 다루기 위함, 알파벳만 쓰더라도 TEXT("")로 감싸서 사용하자.)

'Unreal5 > Unreal C++' 카테고리의 다른 글

[U C++] Unreal Object & Reflection System  (0) 2024.07.05
[U C++] Class - FName  (0) 2024.07.04
[U C++] Class - FString  (0) 2024.07.04
[U C++] Unreal C++ type and size  (0) 2024.07.04
[U C++] UE Coding Style  (0) 2024.07.03