728x90
이 글은 Inflearn - Rookiss : 언리얼 엔진4 입문 강의를 듣고 정리한 글입니다.

 

목차.

  1. 로그(UE_LOG) 출력
  2. 브레이크 포인트 디버깅

 

로그(UE_LOG) 출력

유니티 로그 : Debug.Log 

언리얼 로그 : UE_LOG

 

둘의 가장 큰 차이는 매개 변수라고 볼 수 있다.

언리얼 로그의 매개변수는 UE_LOG(카테고리, 로깅수준, 형식, 인자)로 

유니티 로그만 출력해본 사람으로서 조금 어렵게 느껴진다.

 

// Called when the game starts or when spawned
void AMyActor::BeginPlay()
{
	Super::BeginPlay();

	//카테고리, 로깅수준, 형식, 인자

	UE_LOG(LogTemp, Warning, TEXT("BeginPlay %d"), 3);
	UE_LOG(LogTemp, Warning, TEXT("BeginPlay"));
}

게임을 실행시키면 한번 로그가 출력되는 코드이다.

 

카테고리(ELog Category)
  • 로그 메시지를 그룹화하고 구분하기 위해 사용
  • LogTemp, LogPhysics 등 목적에 따라 다양한 카테고리가 있다.
로깅 수준(ELog Verbosity)
  • 특정 유형의 로그의 중요도와 상세도를 나타냄
  • 목적에 따라 다양한 수준이 존재
namespace ELogVerbosity
{
    enum Type
    {
        NoLogging        = 0,
        Fatal,
        Error,
        Warning,
        Display,
        Log,
        Verbose,
        VeryVerbose,
        All              = VeryVerbose,
        NumVerbosity,
        VerbosityMask    = 0xf,
        SetColor         = 0x40,
        BreakOnLog       = 0x80,
    }
}
Fatal
  • 가장 높은 중요도를 가지는 로그 수준입니다.
  • 치명적인 오류 또는 상황을 나타내며, 이 수준의 로그가 발생하면 프로그램이 종료될 수 있습니다.
Error 
  • 중요한 오류를 나타내는 로그 수준입니다.
  • 프로그램의 실행에 큰 문제가 발생했음을 나타내며, 오류 해결에 필요한 정보를 제공합니다.
Warning
  • 경고나 주의사항을 나타내는 로그 수준입니다.
  • 프로그램이 정상적으로 실행되긴 하지만, 잠재적인 문제가 발생할 수 있음을 알립니다.
Display
  • 사용자에게 표시되는 정보를 나타내는 로그 수준입니다.
  • 주로 게임 상에서 유용한 정보를 출력할 때 사용됩니다.
Log
  • 기본적인 로그 수준으로, 중요한 정보를 나타냅니다.
  • 프로그램의 상태, 이벤트, 데이터 등을 추적하는 데 사용됩니다.

 

Verbose
  • 더 상세한 정보를 제공하는 로그 수준입니다.
  • 디버깅 시에 자세한 내용을 확인하기 위해 사용됩니다.
VeryVerbose
  • 가장 상세한 정보를 제공하는 로그 수준입니다.
  • 매우 자세한 디버깅 정보를 출력할 때 사용됩니다.

 

만약 출력 로그창이 없다면. 창 -> 개발자 툴 -> 출력 로그 클릭하면 창이 뜹니다.

 

에디터창에서 컴파일 후 게임 실행을 시켜보면

 

 

노란색 Warning이 출력되었습니다.

 

Error를 출력했다면 빨간색이 출력됩니다.

 

그리고 언리얼에서 로그는 단순 출력뿐만 아니라 로그 파일로도 저장이 됩니다.

저장된 로그파일은 Saved -> Logs 폴더에 저장이 되고 만약 Tick으로 Log를 출력해도

모두 로그파일에 저장이 되기때문에 가급적이면 Tick에서는 Log사용은 지양하는 게 좋은 것 같습니다.

log 파일 저장된 모습

 

브레이크 포인트 디버깅

디버깅도 유니티와 차이가 있습니다.

 

유니티
  • 브레이크 포인트를 잡고 로컬 Windows 디버거를 실행후 게임을 실행시키면 별도의 작업 없이 디버깅이 가능
언리얼
  • 언리얼 에디터창을 끄고, 브레이크 포인트를 잡은 후 Windows 디버거를 실행하면 언리얼 에디터가 다시 켜짐
  • 이 상태에서 플레이를 누르면 디버깅이 가능
  • 만약 디버깅을 중단하면 언리얼 에디터가 다시 꺼짐

 

 

그리고 디버거 버튼 옆에 저렇게 여러가지 Debug 구성이 있는데

Debug개발단계에서 사용하기 좋다는 특징이 있고

Development최적화가 되어있지만 디버깅을 할때 조금 문제가 있을 수 있다는 특징이 있다.

 

 

728x90

+ Recent posts