본문 바로가기
엔진/Unity

Debug.Log 처리에 관한 여러가지 방법들

by 별빛마카 2019. 4. 16.
반응형

Debug.Log는 성능상.... 블라블라... 그런건 다들 알테니까
Debug.Log를 처리하는 여러가지 방법들을 정리해보았다.

1. UnityEngine.Debug.unityLogger.logEnabled 조절

UnityEngine.Debug.unityLogger.logEnabled = false;

또는

UnityEngine.Debug.unityLogger.logEnabled = Debug.isDebugBuild;

를 쓰면 어느정도 메모리 이슈는 잡을수 있다
단점 : Debug.Log 함수의 호출 자체를 막지는 못함. 

참고 : https://docs.unity3d.com/ScriptReference/Logger-logEnabled.html

2. #if 디파인문 사용

#if TRACE_ON
UnityEngine.Debug.Log("test log : " + testStr + "!" );
#endif

단점 : 귀찮음

참고 : https://ozlael.tistory.com/76 

3. Conditional를 사용

public class TestLog : MonoBehaviour
{
	[Conditional("TRACE_ON")]
	void DebugLogWrap( string str)
	{
		Debug.Log(str);
	}
}

참고 : https://ozlael.tistory.com/76 , https://geekcoders.tistory.com/entry/Unity-유니티-프로그래머가-알아야-할-코드작성법

4. 스크립트에서 찾아 바꾸기로 직접 지운다.

찾아바꾸기 단축키 : Ctrl + H

정규식 사용(Alt + E)를 누른다.

정규식 사용을 누른 뒤 찾기 칸에
((\Debug.Log.+?\;))
입력 (줄바꿈 까지 지우고 싶은경우엔 \r?\n 을 뒤에 추가한다) 후 
모두 바꾸기(Alt+A) 를 하면 된다. 

참고 : https://docs.microsoft.com/ko-kr/visualstudio/ide/using-regular-expressions-in-visual-studio?view=vs-2019

이 외의 방법들을 찾아낼 경우 추가 및 수정할 예정

반응형

댓글