UE_LOG(LogTemp, Warning, TEXT("Some Warning Message!"));
로그는 프로젝트의 Saved/Logs 디렉터리에 .txt 파일로 저장된다.
기본 사용법은
UE_LOG(<LOG_CATEGORY>, <VERBOSITY_LEVEL>, TEXT("My log string."));
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::Printf 또는 FString::format 함수를 이용한다!
FString::Printf() 이용
FString name = "Tim";
int32 mana = 450;
FString string = FString::Printf( TEXT( "Name = %s Mana = %d" ), *name, mana );
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를 사용해, 변수 타입을 추정한다.
참고