Unity의 Debug.Log 함수는
매우 유용합니다.
자신이 원하는 로그를 쉽게
찍을 수 있고 확인할 수 있기
때문입니다.
하지만 이런 Debug.Log는
불필요하게 성능을 은근 많이
잡아먹기 때문에
테스트가 끝난 프로그램에서는
굳이 로그를 확인할 필요가
없을 수 있습니다.
Debub.Log 함수
사용 방법을 모른다면
이 글을 먼저 보고 오세요!
https://jakehollys.tistory.com/20
많은 분들이
Development Build 할 때만
Debug class가 작동한다고
잘못 생각는 경우가 많은데
최종 Release 빌도 할 때도
그대로 Debug class의 함수는
작동합니다.
사실상 로그는 에디터에서
확인해보고 싶고
테스트가 충분히 된
프로그램에서는 성능이
생명이기 때문에
최종 빌드 시에는
빼고 싶어 하는 경우가
일반적입니다.
그래서 많은 분들이
최종 빌드 시에
일일이 Debug.Log 함수를
찾아내서 지우곤 합니다.
이를 위한 방법이 있는데
바로 [System.Diagnostics.Conditional("UNITY_DEDITOR")]의
속성을 이용하는 것입니다.
감사하게도 예전에
어떤 분이 Debug Class를
Override 하는 방식으로
Debug.Log 원 방식 그대로
사용할 수 있도록
공유해서 같이 공유해봅니다.
출처 : https://gist.github.com/kimsama/4123043
Debug.cs 파일 받으셔서
자신의 프로젝트에 추가해서
바로 사용하시면 됩니다.
기본적으로 Debug.Log와
기본적으로 찍는 로그 종류는
다 사용할 수 있습니다.
찍을 수 있는 로그 종류는
아래 글을 참고하시면 됩니다.
https://jakehollys.tistory.com/19
DebugFormat이나
Debug.unity.Logger
같은 경우는 추가가
안 되어 있지만
추가만 하면 되는 방식이라
아래 글 참고해서
사용 방식을 숙지하고
그대로 함수로 추가하시면 됩니다.
https://jakehollys.tistory.com/21
에디터일때 만으로 if문을 걸어서
Debug.logger.logEnabled = false
이 기능을 사용해도 되지 않냐고
생각하시는 분도 계시겠지만
로깅은 비활성화가 되더라도
보이지만 않을 뿐
호출은 된다고 합니다.
위 Debug.cs 파일은
그런 것들을 다 제거해서
빌드 시 메서드 호출이 없어서
성능이 뛰어나다고 해서
저는 프로젝트를 진행할 때
위 스크립트를 개조해서
사용해볼까 합니다.
'Unity3D 게임 엔진 연구소 > 따라해보기' 카테고리의 다른 글
[기초]유니티에서 기본으로 제공하는 UI는 어떤 것들이 있을까? (0) | 2020.10.06 |
---|---|
[기초] Unity Debug LogFormat, Log 확장 (Muliti Log) (0) | 2020.01.01 |
[기초] Debug Log 사용 방법, 로그로 확인할 수 있는 것들 (0) | 2019.12.30 |
[기초] 유니티 테스트의 기본 로그 확인하기 (로그 종류) (0) | 2019.12.29 |
[기초] 유니티 Start, Update 함수 사용하기 (0) | 2019.10.05 |