내일배움캠프 35일차

박나연·2025년 5월 27일

내배캠

목록 보기
35/69

숙련 주차 팀 프로젝트 하는중... NPCStatus

오늘의 키워드 : 디버그 로그 관리

원래 내 루틴대로라면 오늘쯤은 프로젝트 진행한거 내가 짠 코드의 리뷰가 올라와야 하는데 음... 오늘 잘 진행이 되지 않아서 수준별 수업에서 배웠던 걸 리뷰해 보려고 한다.

빌드 제외 디버그 로그 관리

오늘 수준별 강의를 듣는데 튜터님이 Debug.Log많이 쓰지 않냐며 근데 그건 빌드할 때 다 지우는게 맞다고 한다. 근데 나중에 일일이 지우는게 힘드니까 아예 처음부터 이렇게 해놓는건 어떠냐며 알려주신 방법!

using System.Diagnostics;
using Debug = UnityEngine.Debug;

//디버그 로그가 빌드할때 포함하면 안됨

public static class Logger
{
    [Conditional("UNITY_EDITOR")]//이 컨디션일때만 실행한다~그래서 빌드에 포함안됨
    public static void Log(string msg)
    {
        Debug.Log($"<color=yellow>{msg}</color>");
    }
}

이렇게 하면 Logger.Log를 사용해서 로그를 뽑을 수 있고 이건 빌드해서 쓸 땐 포함이 안되게 처리가 되어서 좋다고 하셨다. 좋은것 같은데.. 팀원들에게 이거쓰자고 말해본다는걸 까먹었다... 다음 프로젝트때 쓰지 뭐!

전처리 지시문(Conditional Compilation)으로 코드 분기하기

#define TEST

....

#if TEST
Debug.Log("TEST");
#endif
#if RELEASE
Debug.Log("RELEASE");
#endif

이 기법은 전처리 지시문을 이용한 조건부 컴파일이라고 부른다. 이렇게 코드를 작성해도 되고, Player Settings -> Other Settings -> Scripting Define Symbols에서 TEST를 입력하면 #define을 적지 않아도 같은 효과를 준다.
이 기능을 사용하면 여러 심볼로 빌드 설정별 분기가 가능해진다.

마무리하며

결국 오늘 한거라곤 선비가 배회하는거랑 뭐... 이거저거 겉핥기로 알아보기? 정도인데 오늘 회의에서 여차하면 선비 그냥 방안에만 있게 하자는 의견이 나왔다. 그럼 오늘 한건...ㅠㅠㅠ 아무튼 오늘 너무 안해서 내일 많이 하려고 한다. 근데 뭘 알아야지 많이 하지 저장은 처음해봐서 잘 모르겠다. 잘 아는 팀원 붙잡고 괴롭히는 중인데 빨리 잘 이해했으면 좋겠다. 흑흑

내일 할 일

내일은 꼭 레벨 시스템을 완벽하게 마무리 할 것이다 그래야 대화시스템을 할 수 있을 것 같다.

0개의 댓글