[UE] UE_LOG

오늘 날씨는 야옹·2024년 2월 10일

언리얼 엔진

목록 보기
1/1

UE_LOG(LogTemp, Warning, TEXT("Some Warning Message!"));

로그는 프로젝트의 Saved/Logs 디렉터리에 .txt 파일로 저장된다.
기본 사용법은

UE_LOG(<LOG_CATEGORY>, <VERBOSITY_LEVEL>, TEXT("My log string."));


Parameters

  • LOG_CATEGORY: 말 그대로...카테고리의 이름
    DEFINE_LOG_CATEGORY에 정의되어 있다고 함.
    LogTemp를 사용하면, 로그 메시지를 임시 로그에 표시.

  • VERBOSITY_LEVEL: 로깅 시스템의 상세 레벨

Fatal로깅이 비활성화된 경우에도 항상 치명적인 오류를 콘솔 및 로그 파일에 출력한 후 크래시를 발생시킵니다.
Error오류를 콘솔 및 로그 파일에 출력합니다. 커맨드릿과 에디터가 오류를 수집하고 보고합니다. 오류 메시지의 결과로 커맨드릿 실패가 발생합니다.
Display메시지를 콘솔 및 로그 파일에 출력합니다.
Log메시지를 로그 파일에는 출력하지만 콘솔에는 출력하지 않습니다.
Verbose해당 카테고리에 대해 상세 로깅이 활성화된 경우 상세 메시지를 로그 파일에 출력합니다. 일반적으로 상세 로깅에 사용됩니다.
VeryVerbose상세 메시지를 로그 파일에 출력합니다. VeryVerbose 로깅이 활성화된 경우 이는 다른 경우에 스팸으로 출력될 상세 로깅에 사용됩니다.

  • 로그 메시지 자체를 표현하는 텍스트 문자열

가변 인자 받기

int intVar = 5;
float floatVar = 3.7f;
FString fstringVar = "an fstring variable";
UE_LOG(LogTemp, Warning, TEXT("Text, %d %f %s"), intVar, floatVar, *fstringVar));

FString을 일반 TCHAR 포인터로 역참조하기 위해, FString 변수 앞에 *를 붙임.
포인터가 가리키는 실제 값으로 포인터를 변환함을 의미.


다수의 변수들로부터 FString 만들기

FString::Printf 또는 FString::format 함수를 이용한다!

  1. FString::Printf() 이용

    FString name = "Tim";
    int32 mana = 450;
    FString string = FString::Printf( TEXT( "Name = %s Mana = %d" ), *name, mana );

  2. FString::Format() 이용

    FString name = "Tim";
    int32 mana = 450;
    TArray< FStringFormatArg > args;
    args.Add( FStringFormatArg( name ) );
    args.Add( FStringFormatArg( mana ) );
    FString string = FString::Format( TEXT( "Name = {0} Mana = {1}" ), args);

FString::Format()FstringFormatArg를 사용해, 변수 타입을 추정한다.


참고

0개의 댓글