모든 개발자는 Log 없이 개발을 할 수 없다.
(할 수 있는 천재가 있을 수도... 하지만 난 아니다)
printf(), Console.WriteLine(), Logger.debug() 등 언어에 따른 로그를 찍는 방법이 많이 있고,
유니티에도 Debug.Log() 를 통해 로그를 찍어볼 수 있다.
많은 개발자가 알고 있다.
하지만 대부분 일반적으로 로그를 그냥 평범한 텍스트형태로 출력할 것이다.
이번에 사용해 볼 디버그 로그 사용 방법은 UGUI에서 사용하는 RichText 사용법과 동일하다.
위 Text에 사용된 문자열들 처럼
이번 로그는 <b>볼드</b>다
이번 로그는 <i>이탤릭</i>다
이번 로그는 <size=value>사이즈</size>다
이번 로그는 <color=value>컬러</color>다
위 텍스트들을 그대로 Debug.Log(string value)로 넣어보자.
void Start()
{
Debug.Log("이번 로그는<b>볼드</b>다");
Debug.Log("이번 로그는<i>이탤릭</i>다");
Debug.Log("이번 로그는<size=20>사이즈</size>다");
Debug.Log("이번 로그는<color=green>컬러</color>다");
}
자 여기까지 하면 완성이다.
하지만 Debug.Log를 찍을때마다 매번 저렇게 내가 직접 Rich Text를 써준다는건 너무 귀찮을 것이다.
이런 응용은 어떨까 string.format을 이용하여 보다 범용적으로 쉽게 찍는 방법인것이다.
public static class StringUtils
{
public const string bold = "<b>{0}</b>";
public const string italic = "<i>{0}</i>";
public const string size = "<size={0}>{1}</size>";
public static string ToString(this string str, string msg)
{
return string.Format(str, msg);
}
public static string ToString(this string str, int size, string msg)
{
return string.Format(str, size, msg);
}
}
미리 사용할 Rich Text들을 정의 해둔 후
void Start()
{
Debug.Log("이번 로그는 " + StringUtils.bold.ToString("볼드") + "다");
Debug.Log("이번 로그는 " + StringUtils.italic.ToString("이탤릭") + "이다");
Debug.Log("이번 로그는 " + StringUtils.size.ToString(20, "사이즈") + "이다");
}
이런식으로 사용하면 보다 덜 귀찮게(?) 사용할 수 있을거라고 생각한다.
결과는 뭐...
더욱 자세한 Rich Text의 사용법은 유니티 도큐먼트를 참조하면 좋을것이다.
'프로그래밍 > Unity3D' 카테고리의 다른 글
Unity Cache Server (유니티 캐시서버) (0) | 2021.12.24 |
---|---|
유니티 로그 콜백 (LogCallback) (0) | 2020.06.03 |
Unity Spine 애니메이션 속도 1배속 고정 (0) | 2020.05.26 |
Firebase Cloud Messaging (FCM) 파이어베이스 클라우드 메시징 (1) | 2020.05.25 |
Unity3D 개발을 시작 할 때 (0) | 2020.05.21 |