본문 바로가기

볼봇의 코딩 생활/언리얼한 엔진

[UE4] UE_LOG 로 Logging 하기

게임 개발에서 로그를 남기는 과정은 매우 중요하다. 단순히 값을 확인 하는 차원을 넘어서

특정 값을 디스크에 저장하여 이후에 문제가 발생했을때 이 로그를 참고하여 조사 할 수 있다.

 

언리얼 엔진은 기본적으로 Logger 를 가지고 있다.

 

가장 간단한 방법

UE_LOG(LogTemp, [Verbosity], [Message]);

카테고리, 수준, 내용 순서로 값을 입력하면 된다.

간단히 값을 출력해보는 경우에는 기본적으로 정의된 LogTemp 라는 카테고리를 사용하면 편하다.

 

새 카테고리를 지정해서 사용

언리얼 엔진의 로그 필터를 사용하려면 LogTemp 로는 한계가 있다.

따라서 카테고리를 직접 지정해줄 필요도 생긴다.

 

카테고리를 선택 할 수 있다.

 

언리얼 엔진은 카테고리 생성을 위해서 두가지 메크로를 지원한다.

 

모듈의 헤더 파일([ModuleName.h])에는 아래와 같이 정의한다.

DECLARE_LOG_CATEGORY_EXTERN([CategoryName], [DefaultVerbosity], All)

[CategoryName] 은 사용할 카테고리의 이름이고, [DefaultVerbosity]는 로그의 기본 수준을 의미한다.

마지막에 All 라는 값을 줬는데 이게 어디에 쓰이는지는 잘 모르겠다.

 

 

모듈의 구성 파일 ([ModuleName].cpp)에는 아래와 같이 정의한다.

DEFINE_LOG_CATEGORY([CategoryName]);

 

결과는 아래와 같다.

 

앞으로 로그를 찍을 때 해당 모듈을 include 한 후 아래와 같이 로그를 사용하면 되겠다.

UE_LOG([CategoryName], [Verbosity], [Message]);