Unity 로그 수집 (Log Collection)
Datadog의 Unity 패키지로 Unity 애플리케이션에서 Datadog로 로그를 보내고 다음 기능을 활용해 보세요:
- 로그를 기본적으로 JSON 형식으로 Datadog에 보내요.
- 보내는 각 로그에 기본 속성을 사용하고 사용자 지정 속성을 추가해요.
- 실제 클라이언트 IP 주소와 User-Agent를 기록해요.
- 자동 대량 게시(bulk posts)로 최적화된 네트워크 사용을 활용해요.
출처: 문서
본문
설정 (Setup)
로그용 Datadog Unity SDK를 초기화하려면 설정 문서를 참고하세요.
Datadog Unity SDK를 설정한 후에는 SDK의 DefaultLogger를 사용해 Datadog로 로그를 보낼 수 있어요.
var logger = DatadogSdk.Instance.DefaultLogger;
logger.Debug("A debug message.");
logger.Info("Some relevant information?");
logger.Warn("An important warning…");
logger.Error("An error was met!");
"Forward Unity Logs" 옵션을 설정하면 Unity의 Debug.Log* 메서드로 보내는 로그가 자동으로 DatadogSdk.Instance.DefaultLogger로 전송돼요.
CreateLogger 메서드를 사용해 서로 다른 서비스와 이름을 가진 추가 로거를 만들 수도 있어요:
var loggingOptions = new DatadogLoggingOptions()
{
Service = "com.example.custom_service",
Name = "Additional logger",
};
var logger = DatadogSdk.Instance.CreateLogger(loggingOptions);
logger.Info('Info from my additional logger.');
태그 관리하기 (Manage tags)
로거에 설정한 태그는 각 로거에 국한돼요 (로컬).
태그 추가하기 (Add tags)
DdLogger.AddTag 메서드를 사용해 특정 로거가 보내는 모든 로그에 태그를 추가하세요:
// This adds a "build_configuration:debug" tag
logger.AddTag("build_configuration", "debug")
태그 제거하기 (Remove tags)
DdLogger.RemoveTag 메서드를 사용해 특정 로거가 보내는 모든 로그에서 태그를 제거하세요:
// This removes any tag that starts with "build_configuration"
logger.RemoveTag("build_configuration")
자세한 내용은 태그 시작하기 문서를 참고하세요.
속성 관리하기 (Manage attributes)
로거에 설정한 속성은 각 로거에 국한돼요 (로컬).
기본 속성 (Default attributes)
기본적으로 로거가 보내는 모든 로그에 다음 속성이 추가돼요:
http.useragent와 여기서 추출된device·OS속성network.client.ip와 여기서 추출된 지리 속성(country,city)logger.version, Datadog SDK 버전logger.thread_name, (main,background)version,Info.plist또는application.manifest에서 추출한 클라이언트 앱 버전environment, SDK를 초기화할 때 사용한 환경 이름
속성 추가하기 (Add attributes)
DatadogLogger.AddAttribute 메서드를 사용해 특정 로거가 보내는 모든 로그에 사용자 지정 속성을 추가하세요:
logger.AddAttribute("user-status", "unregistered")
value에는 JsonCovert.SerializeObject로 직렬화할 수 있는 대부분의 타입이 올 수 있어요.
속성 제거하기 (Remove attributes)
DdLogger.RemoveAttribute 메서드를 사용해 특정 로거가 보내는 모든 로그에서 사용자 지정 속성을 제거하세요:
// This removes the attribute "user-status" from all logs sent moving forward.
logger.RemoveAttribute("user-status")