Protokolování a diagnostika ve službě Azure Spatial Anchors
Azure Spatial Anchors poskytuje standardní mechanismus protokolování, který je užitečný pro vývoj aplikací. Režim protokolování diagnostiky Spatial Anchors je užitečný, když potřebujete další informace pro ladění. Protokolování diagnostiky ukládá image prostředí.
Standardní protokolování
V rozhraní Spatial Anchors API se můžete přihlásit k odběru mechanismu protokolování, abyste získali užitečné protokoly pro vývoj a ladění aplikací. Standardní rozhraní API protokolování neukládají obrázky prostředí na disk zařízení. Sada SDK poskytuje tyto protokoly jako zpětná volání událostí. Je na vás, abyste tyto protokoly integrovali do mechanismu protokolování aplikace.
Konfigurace zpráv protokolu
Existují dvě zpětná volání, která uživatele zajímají. Následující ukázka ukazuje, jak nakonfigurovat relaci.
cloudSpatialAnchorSession = new CloudSpatialAnchorSession();
. . .
// set up the log level for the runtime session
cloudSpatialAnchorSession.LogLevel = SessionLogLevel.Information;
// configure the callback for the debug log
cloudSpatialAnchorSession.OnLogDebug += CloudSpatialAnchorSession_OnLogDebug;
// configure the callback for the error log
cloudSpatialAnchorSession.Error += CloudSpatialAnchorSession_Error;
Události a vlastnosti
Tato zpětná volání událostí jsou k dispozici pro zpracování protokolů a chyb z relace:
- LogLevel: Určuje úroveň podrobností událostí, které se mají přijímat z modulu runtime.
- OnLogDebug: Poskytuje standardní události protokolu ladění.
- Chyba: Poskytuje události protokolu, které modul runtime považuje za chyby.
Protokolování diagnostiky
Kromě standardního provozního režimu protokolování má služba Spatial Anchors také režim diagnostiky. Diagnostický režim zaznamenává image prostředí a protokoluje je na disk. Tento režim můžete použít k ladění určitých druhů problémů, jako je například nemožnost předvídatelně najít kotvu. Povolte protokolování diagnostiky jenom kvůli reprodukování konkrétního problému. Pak ho zakažte. Nepovolujte diagnostiku, když aplikace spouštíte normálně.
Během interakce podpory s Microsoftem se zástupce Microsoftu může zeptat, jestli jste ochotni odeslat balíček diagnostiky k dalšímu šetření. V takovém případě se můžete rozhodnout povolit diagnostiku a reprodukovat problém, abyste mohli odeslat sadu diagnostických dat.
Pokud microsoftu odešlete diagnostický protokol bez předchozího potvrzení od zástupce Microsoftu, odeslání zůstane nezodpovězené.
Následující části ukazují, jak povolit režim diagnostiky a také jak odesílat diagnostické protokoly do Microsoftu.
Povolení diagnostického protokolování
Když povolíte relaci pro protokolování diagnostiky, všechny operace v relaci budou mít odpovídající protokolování diagnostiky v místním systému souborů. Během protokolování se image prostředí ukládají na disk.
private void ConfigureSession()
{
cloudSpatialAnchorSession = new CloudSpatialAnchorSession();
. . .
// set up the log level for the runtime session
cloudSpatialAnchorSession.LogLevel = SessionLogLevel.Information;
// configure the callbacks for logging and errors
cloudSpatialAnchorSession.OnLogDebug += CloudSpatialAnchorSession_OnLogDebug;
cloudSpatialAnchorSession.Error += CloudSpatialAnchorSession_Error;
// opt in to diagnostics logging of environment images
// if this is enabled, the diagnostics bundle includes images of the environment captured by the session
cloudSpatialAnchorSession.Diagnostics.ImagesEnabled = true;
// set the level of detail to be collected in the diagnostics log by the session
cloudSpatialAnchorSession.Diagnostics.LogLevel = SessionLogLevel.All;
// set the max bundle size to capture the bug information
cloudSpatialAnchorSession.Diagnostics.MaxDiskSizeInMB = 200;
. . .
}
Odeslání sady diagnostiky
Následující fragment kódu ukazuje, jak odeslat sadu diagnostiky do Microsoftu. Tato sada bude obsahovat image prostředí zachyceného relací po povolení diagnostiky.
// method to handle the diagnostics bundle submission
private async Task CreateAndSubmitBundle()
{
// create the diagnostics bundle manifest to collect the session information
string path = await cloudSpatialAnchorSession
.Diagnostics
.CreateManifestAsync("Description of the issue");
// submit the manifest and data to send feedback to Microsoft
await cloudSpatialAnchorSession.Diagnostics.SubmitManifestAsync(path);
}
Části diagnostického balíčku
Sada diagnostiky může obsahovat následující informace:
- Image klíčových snímků: Obrázky prostředí pořízené během relace, když byla povolena diagnostika.
- Protokoly: Protokoluje události zaznamenané modulem runtime.
- Metadata relace: Metadata, která identifikují relaci.