Sono nuovo alla piattaforma telefonica Windows. C'è qualcosa disponibile come logcat in Android per Windows per la raccolta di registri? Grazie in anticipo.Come raccogliere i registri delle applicazioni in Windows Phone 8.1?
risposta
Windows 8.1 ha introdotto nuove classi per semplificare la registrazione. Queste classi sono LoggingChannel, LoggingSession e others.
Ecco un esempio:
App.xaml.cs
LoggingSession logSession;
LoggingChannel logChannel;
public App()
{
this.InitializeComponent();
this.UnhandledException += App_UnhandledException;
}
void App_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
logChannel.LogMessage("Unhandled exception: " + e.Message);
logSession.SaveToFileAsync(Windows.Storage.ApplicationData.Current.LocalFolder, "MainLog.log").AsTask().Wait();
}
protected override void OnLaunched(LaunchActivatedEventArgs e)
{
logSession = new LoggingSession("MainLogSession");
Resources["MainLogSession"] = logSession;
logChannel = new LoggingChannel("AppLogChannel");
logSession.AddLoggingChannel(logChannel);
}
MainPage.xaml.cs
LoggingChannel logChannel;
public MainPage()
{
this.InitializeComponent();
var logSession = (LoggingSession)Application.Current.Resources["MainLogSession"];
logChannel = new LoggingChannel("MainPageLogChannel");
logSession.AddLoggingChannel(logChannel);
logChannel.LogMessage("MainPage ctor", LoggingLevel.Information);
}
ho altamente consiglia di guardare il keynote Making your Windows Store Apps More Reliable durante la conferenza del 2013, in cui Harry Pierson dimostra queste nuove API in maggiore dettaglio (incluso il caricamento del file di registro su un server back-end utilizzando un'attività in background che viene eseguita quando il telefono è collegato all'alimentazione CA).
È possibile utilizzare System.Diagnostics.Debug per visualizzare i registri sulla finestra di Visual Studio Console, ma non sarà possibile recuperarli in seguito poiché è visualizzato solo durante il debug.
Raccomando l'uso di MetroLog, un sistema di registrazione leggero progettato specificamente per le app Windows Store e Windows Phone.
È possibile installarlo tramite NuGet
Install-Package MetroLog
Ecco un rapido esempio:
using MetroLog;
using MetroLog.Targets;
LogManagerFactory.DefaultConfiguration.AddTarget(LogLevel.Trace, LogLevel.Fatal, new FileStreamingTarget());
GlobalCrashHandler.Configure();
ILogger log = LogManagerFactory.DefaultLogManager.GetLogger<MainPage>();
log.Trace("This is a trace message.");
è possibile trovare un tutorial che spiega come aggiungere sul vostro progetto a http://talkitbr.com/2015/06/11/adicionando-logs-em-universal-apps. Inoltre c'è una spiegazione per quanto riguarda il recupero di questi registri.
- 1. Differenza tra Windows Phone 8.1 e Windows Phone Silverlight 8.1
- 2. Windows Phone 8.1 Store VS Windows Phone 8.1 Silverlight
- 3. Windows Phone 8.1 IRC
- 4. Emulatore Windows Phone 8.1 in Windows 10
- 5. Come chiudere un'applicazione Windows Phone 8.1
- 6. Come iniziare con Windows Phone SDK 8.1?
- 7. Windows Phone 8.1 (WinRT): selettore ciclico personalizzato
- 8. Effettuare una chiamata in Windows Phone 8.1
- 9. File Picker in Windows Phone 8.1
- 10. Stato dispositivo in Windows Phone 8.1
- 11. Windows Phone 8.1 o Windows Phone Silverlight 8.1: manca la documentazione su MSDN?
- 12. Problemi con l'emulatore di Windows Phone 8.1
- 13. Windows Phone 8.1 dropdown cordova non funziona
- 14. Ottenere CivicAddress su Windows Phone 8.1
- 15. Aggiunta regola firewall su Windows Phone 8.1
- 16. Windows Phone 8.1: Verifica connessione Internet
- 17. nuove API per Windows Phone 8.1
- 18. Windows 8.1 non ha iper-vivi. Windows Phone Emulator
- 19. Condivisione del rendering all'immagine bitmap in windows phone 8.1
- 20. Windows Phone 7 Nascondere la barra delle applicazioni
- 21. windows phone 8, le impostazioni delle applicazioni non persistono
- 22. Dimensioni minime per pulsanti in Windows Phone 8.1
- 23. Strani risultati in AutoSuggestBox in Windows Phone 8.1
- 24. Ruota l'immagine prima di salvare in Windows Phone 8.1
- 25. ID univoco del dispositivo in Windows Phone 8.1
- 26. Nascondi barra di stato in Windows Phone 8.1 Universal Apps
- 27. Riferimento servizio SOAP in Windows Phone 8.1 Applicazione universale
- 28. Webview BaseURL in Xamarin.Forms su UWP e Windows Phone 8.1
- 29. ContactPicker non funziona in Windows Phone 8.1 di Silverlight
- 30. Distribuzione di applicazioni su Windows Phone 7
Posso sapere dove viene salvato il file di registro? Posso anche copiarlo sul desktop usando lo strumento di esplorazione di memoria isolato? –
Puoi vedere nel mio codice App.xaml.cs che sto specificando che voglio il file di registro salvato nella cartella dati locale della mia app con il nome "MainLog.log", quindi sì, puoi specificare dove viene salvato. Dovresti essere in grado di utilizzare lo strumento di archiviazione isolato per copiare il file sul tuo PC. –
Grazie per la risposta. Sono in grado di estrarre il file sul mio PC.Ma quel file di registro non è in formato leggibile (come alcuni caratteri indesiderati). C'è comunque la possibilità di convertirlo in un formato leggibile? –