본문 바로가기
Unreal Engine/UE4 C++ 게임 개발 공부

[UE4 C++] 디버깅을 위한 로그 UE_LOG, 로깅 환경 설정

by JJPearl 2022. 1. 12.
반응형

UE_LOG

언리얼 엔진은 로깅 환경을 위해 UE_LOG라는 매크로를 제공.

UE_LOG(카테고리, 로깅 수준, 형식 문자열, 인자.. )

 

이 매크로를 사용해 생성한 로그는 에디터의 창-개발자 툴-출력 로그 윈도우에서 확인할 수 있다.

혹은 Saved-Logs-log 확장자 파일을 메모장같은 외부 프로그램으로 열면 파일로 로그를 직접 확인할 수도 있다.

 

  • 로그 카테고리 : 기능마다 로그를 구분하기 위해 다른 카테고리가 선언되어 있다. 이를 사용해 로그 남김.

좌측 LogSlate: 같은 것들이 카테고리

  • 로깅 수준 : 로그의 중요도
    • 메시지 : 흰색
    • 경고 : 노란색
    • 에러 : 붉은색
    • 출력 로그 윈도우에서 필터를 사용해 내가 원하는 로깅 수준/ 카테고리에 해당하는 로그 정보만 출력 가능
  • 형식 문자열 : C언어의 printf함수와 같은 기능. 다양한 데이터를 하나의 문자열로 조합해 출력할 수 있는 기능.
    • 모든 플랫폼에서 2바이트 문자열을 지원하는 TEXT 매크로 사용하는 것이 좋다.
    • 언리얼 엔진에서 문자열 관리하는 기본클래스인 FString 클래스 변수에서 문자열 정보를 얻어오려면 반드시 * 연산자를 앞에 지정해줘야 함.
      • 예) TEXT("Actor Name : %s), *GetName())

 

 

로깅 환경 설정

공용 매크로 설정

게임 로직에 대한 로그를 분류하기 위해 로그 카테고리를 직접 선언하면 유용하다.

 

로그 카테고리를 선언하기 위한 두 개의 매크로가 존재.

하나는 선언부, 다른 하나는 구현부에 사용.

게임 모듈명으로 된 헤더파일과 소스 파일에 각각 선언하는 것이 일반적.

 

  • DECLARE_LOG_CATEGORY_EXTERN(PalaceWorld, Log, All); // 모듈명 헤더 파일에 선언
  • DECLARE_LOG_CATEGORY(PalaceWorld); // 모듈명 소스 파일에 선언

 

반응형