[Unity] Unity 빌드에서 Debug 로그 끄기

muchan
muchan
∙∙조회 6

Unity Editor에서는 로그를 확인하고, 실제 빌드에서는 모든 로그가 출력되지 않도록 설정할 수 있다.

먼저 아래 스크립트를 프로젝트에 추가한다.

csharp
using UnityEngine;

public static class RuntimeLogSettings
{
    [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
    private static void DisableLogsInBuild()
    {
#if !UNITY_EDITOR
        Debug.unityLogger.logEnabled = false;
#endif
    }
}

RuntimeInitializeOnLoadMethod를 사용했기 때문에 GameObject에 스크립트를 붙일 필요가 없다. 게임이 시작될 때 자동으로 실행된다.

UNITY_EDITOR는 Unity Editor에서만 정의되는 전처리 기호다. 따라서 #if !UNITY_EDITOR 내부 코드는 빌드 버전에서만 실행된다.

적용 결과:

  • Unity Editor: 로그 출력
  • Development Build: 로그 차단
  • 일반 빌드: 로그 차단
  • Debug.Log, Debug.LogWarning, Debug.LogError 모두 차단

Unity 엔진의 초기 메시지나 네이티브 크래시 로그까지 완전히 차단하는 설정은 아니다.