언리얼 C++
언리얼 엔진 로그 출력하기
루체도
2021. 4. 15. 13:46
UE_LOG(LogTemp, Log, TEXT("Test"));
언리얼 UE_LOG는 매크로 함수로 정의되어 있다.
매개변수 설명
LogTemp = 로그 카테고리
Log = 로그 상세 수준
TEXT("Test")); = 로그 내용
로그 카테고리
CoreGlobals.h에 이미 많은 것들이 정의되어 있다.
CORE_API DECLARE_LOG_CATEGORY_EXTERN(LogTemp, Log, All);
CORE_API DECLARE_LOG_CATEGORY_EXTERN(LogUnrealMath, Log, All);
CORE_API DECLARE_LOG_CATEGORY_EXTERN(LogUnrealMatrix, Log, All);
CORE_API DECLARE_LOG_CATEGORY_EXTERN(LogContentComparisonCommandlet, Log, All);
CORE_API DECLARE_LOG_CATEGORY_EXTERN(LogNetPackageMap, Warning, All);
CORE_API DECLARE_LOG_CATEGORY_EXTERN(LogNetSerialization, Warning, All);
CORE_API DECLARE_LOG_CATEGORY_EXTERN(LogMemory, Log, All);
CORE_API DECLARE_LOG_CATEGORY_EXTERN(LogProfilingDebugging, Log, All);
CORE_API DECLARE_LOG_CATEGORY_EXTERN(LogCore, Log, All);
.
.
.
직접 이 로깅 범주를 만들 수도 있음.
방법
.h
DECLARE_LOG_CATEGORY_EXTERN(LogCustom, Log, All);
.cpp
DEFINE_LOG_CATEGORY(LogCustom);
로그 상세 수준의 종류
- Fatal 항상 치명적인 오류를 콘솔 및 파일에 출력한다. 로그를 비활성화해도 출력이 된다.
- Error 콘솔 및 로그 파일에 오류 인쇄
- Warning 콘솔 및 로그 파일에 경고 출력
- Display 메시지를 콘솔 및 로그 파일에 출력
- Log 메시지를 로그 파일로 출력. 콘솔은 출력 되지 않음로그 내용
- Verbos 상세 로그에 사용. 상세 메시지를 로그 파일에 출력
- VeryVerbose 파일에 출력. 대량의 로그를 출력하는 상세 로그를 남길 때 사용
로그 내용
TEXT("") 내부에 서식 지정자를 넣으면 해당 자료형에 맞는 데이터를 출력할 수 있다.
UE_LOG(LogTemp, Warning, TEXT("The Actor's name is %s"), *YourActor->GetName());
스크린에 메시지 출력하기
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::White, TEXT("Test!"));
첫 매개 변수 : 키
-1 : 이 코드가 실행될 때마다 새 메시지가 화면에 계속 출력된다.
양수 : 새 메시지 출력이 아닌 하나의 메시지가 계속 갱신되는 형태로 출력된다.
매개 변수로 넘겨준 정수에 해당하는 메시지가 갱신됨.
두번째 매개 변수 : 메시지가 표시되는 시간, float 형
세번째 매개 변수 : 텍스트 색상 설정.
네번째 매개 변수 : 메시지
서식 지정자로 원하는 데이터를 스크린에 출력하고 싶을 때
GEngine->AddOnScreenDebugMessage(1, 1.5f, FColor::White, FString::Printf(TEXT("DeltaHeight : %f"), DeltaHeight));
Printf 내부에 ,(콤마) 추가 후 인자를 전달해줘야 한다.
처음에 이거 몰라서 조금 헤맸다.