UE/Basic

Custom Log

코어른(진) 2024. 12. 22. 21:57

]: When?

사용자 정의 로그 이름을 만들 때, 사용된다.

 

 

]: Why?

Unreal Log는 Engine 자체에서도 많은 Log를 남기기 때문에, 내가 원하는 Log 정보를 식별하기 어려울 때가 있다.

이때, 검색기능으로, 그 내용을 검색하여 찾을 수도 있지만, 내가 원하는 분야의 로그 이름을 필터링하여 찾을 수 도 있다.

 

]: How?

Log이름을 선언, 정의해준다.

// header
DECLARE_LOG_CATEGORY_EXTERN(LogSH, Log, All);
#define SH_FAST_LOG(Format, ...) \
	UE_LOG(LogSH, Warning, TEXT(Format), ##__VA_ARGS__)
    
// cpp
DEFINE_LOG_CATEGORY(LogSH);


뒤에 있는 2가지 Param은 각각 Runtime, CompileTime Verbosity이다.

  • CompileTime Verbosity : 저 수준과 같거나 높은 수준의 Log만 실행파일에 포함한다.
  • Runtime Verbosity : 저 수준과 같거나 높은 수준의 Log만 Log File +  Console에 출력한다.

왜 굳이 2가지가 필요한가 싶지만, Runtime중 Custom Log의 출력레벨을 조절할 수 있는 점과, CompileTime의 최적화는 실행파일 크기와 성능에 영향을 줄 수 있는점을 보아 유연함을 제공하기 위함인 것 같다.