게임 개발에서 디버그나 모니터링을 위해서 로그를 출력할때, 어느 정도로 상세하게 출력을 할 것인지 어느정도 심각한 종류의 오류인지 등을 제어해서 적합한 정보를 얻어 낼 수 있도록하는 것.
Fatal : 치명적인 오류로 인해 게임을 실행할 수 없는 경우
예시) 중요한 리소스를 참조해야 할 공간에 nullptr가 들어가 있는 경우.Error : 게임은 계속 실행되지만 일부 기능이 비정상적인 동작을 하거나 동작하지 않는 경우
예시) 일부 애니메이션이 동작하지 않지만 게임은 계속 실행. 해당 캐릭터는 이상한 동작을 취하고 있음.Warning : 심각하지 않지만 잠재적인 위험을 내포하고 있는 경우.
예시) 플레이어가 선택한 옵션이 유효하지 않아서 기본값으로 대체된 경우.Log : 정상적인 어플리케이션 상태를 나타내는 메세지
예시) 상태 변경 Delegate가 정상적으로 작동해서 플레이어의 상태가 변경됨을 출력Verbose : 상세한 디버깅 정보를 출력
예시) AIController가 가장 유효한 경로를 찾아가는 과정을 전부 출력.Debug : 개발 중 값을 간단하게 확인하고 넘어가는 경우에 사용.
예시) 30으로 설정해둔 데미지 값이 정상적으로 30으로 전달이 되었는지 확인.
개발 과정에서는 Log, Debug, Verbose등을 확인하여, 혹시나 의도와 다르게 작동하지 않는지 확실하게 하나하나 점검하면서 코딩하고 실제 릴리즈 버전에서는 성능의 저하를 초래할 수 있기 때문에 Fatal, Error, Warning만 사용하는 것이 바람직하다.