본문 바로가기
UNREAL/unreal TIP

출력 로그 보는 방법, 커스텀

by GREEN나무 2024. 2. 13.
728x90

UE_LOG

https://docs.unrealengine.com/5.3/ko/logging-in-unreal-engine/

 

언리얼 엔진에서의 로깅

언리얼 엔진에서의 로깅과 관련된 정보를 살펴봅니다.

docs.unrealengine.com

 

 

✅ 언리얼에서 로그 보는 방법

  • 에디터 메뉴: 창(Window) > 출력 로그(Output Log)
  • 텍스트 로그 파일: Saved/Logs 폴더에 저장됨

 

✅ 로그 출력 기본: UE_LOG

UE_LOG(LogTemp, Warning, TEXT("Hello World"));

 

파라미터 설명
LogTemp 로그 카테고리 (기본 제공 또는 커스텀)
Warning 로그 수준 (아래 참고)
TEXT("메시지") 출력 메시지 (printf 스타일로 포맷 가능)

✅ 로그 상세 수준 (ELogVerbosity)

분류 설명
Fatal 치명적 에러, 출력 후 크래시
Error 빨간색 에러 메시지 출력
Warning 노란색 경고 메시지
Display 일반 메시지
Log 로그 파일에만 출력
Verbose / VeryVerbose 매우 상세한 내부 디버깅용 로그

 

 

✅ 타입별 로그 출력 예시

// FString
UE_LOG(LogTemp, Warning, TEXT("이름은 %s"), *MyActor->GetName());

// bool
UE_LOG(LogTemp, Warning, TEXT("값은 %s"), (bFlag ? TEXT("true") : TEXT("false")));

// int, float
UE_LOG(LogTemp, Warning, TEXT("값은 %d"), Count);
UE_LOG(LogTemp, Warning, TEXT("값은 %.2f"), Speed);

// FVector
UE_LOG(LogTemp, Warning, TEXT("위치: %s"), *Location.ToString());

 

✅ 커스텀 로그 카테고리 만들기

헤더 파일

DECLARE_LOG_CATEGORY_EXTERN(MyLog, Log, All);

CPP 파일

DEFINE_LOG_CATEGORY(MyLog);

사용

UE_LOG(MyLog, Display, TEXT("커스텀 로그 사용"));

 

✅ 화면 디버그 메시지 출력

if (GEngine)
{
    GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("디버그 메시지"));
}
파라미터 설명
-1 메시지 고유 ID (-1이면 항상 새로운 메시지)
5.f 표시 시간(초)
FColor 표시 색상
TEXT(...) 메시지

 

✅ UE_LOGFMT (언리얼 5.2 이상)

#include "Logging/StructuredLog.h"

UE_LOGFMT(LogCore, Warning, "로드 실패: {Name}, 오류 코드: {Error}", 
    ("Name", Package->GetName()), 
    ("Error", ErrorCode));
  • 가독성 높은 구조화된 로깅
  • Named/Positional 파라미터 지원 (단, 혼용 불가)

 

✅ 명령줄에서 로그 수준 조정

-LogCmds="LogTemp Verbose"
  • all 카테고리로 전체 로그 토글 가능
  • 로그 출력 양을 유연하게 조절 가능