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의 최적화는 실행파일 크기와 성능에 영향을 줄 수 있는점을 보아 유연함을 제공하기 위함인 것 같다.