Jestem nowy na platformie Windows Phone. Czy jest coś dostępnego jak logcat w systemie Android dla okien do zbierania logów? Z góry dziękuję.Jak zbierać dzienniki aplikacji w systemie Windows Phone 8.1?
Odpowiedz
Windows 8.1 wprowadził nowe klasy w celu uproszczenia logowania. Klasy te to: LoggingChannel, LoggingSession i others.
Oto przykład:
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);
}
I wysoce zalecamy zapoznanie się z hasłem Making your Windows Store Apps More Reliable podczas konferencji budowania 2013, w której Harry Pierson demonstruje bardziej szczegółowo nowe API (w tym załadowanie pliku dziennika na serwer zaplecza za pomocą zadania w tle, które zostanie wykonane po podłączeniu telefonu do zasilania sieciowego).
Możesz użyć System.Diagnostics.Debug, aby wyświetlić dzienniki w oknie konsoli programu Visual Studio, ale nie będzie można ich później zebrać, ponieważ są one wyświetlane tylko podczas debugowania.
Polecam korzystanie z MetroLog, lekkiego systemu rejestrowania zaprojektowanego specjalnie dla aplikacji Windows Store i Windows Phone.
Można go zainstalować używając Nuget
Install-Package MetroLog
Oto krótki przykład:
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.");
można znaleźć tutorial wyjaśniający jak dodać je do projektu w http://talkitbr.com/2015/06/11/adicionando-logs-em-universal-apps. Istnieje również wyjaśnienie dotyczące pobierania tych dzienników.
- 1. Selektor plików w systemie Windows Phone 8.1
- 2. Stan urządzenia w systemie Windows Phone 8.1
- 3. Windows Phone 8.1 IRC
- 4. Jak dodać AppBar w Windows Phone 8.1
- 5. Windows Phone 8.1 śledzenie lokalizacji
- 6. Windows Phone 8.1 - Nawigacja strony
- 7. Windows Phone 8.1 XAML StringFormat
- 8. Wdrażanie aplikacji w systemie Windows Phone 7
- 9. Usługa SOAP w aplikacji Windows Phone 8.1 Universal app
- 10. Niestandardowy branding Windows Phone 8.1 Live Tile?
- 11. Windows Phone 8.1 Orientacja przechwytywania multimediów C#
- 12. Obejście ograniczeń Windows.ApplicationModel.Package w systemie Windows Phone?
- 13. Uruchamianie uniwersalnych aplikacji systemu Windows 10 w systemie Windows 8.1
- 14. DIsable HardwareButton na Windows Phone 8.1
- 15. D3D11_CREATE_DEVICE_DEBUG w systemie Windows 8.1
- 16. Windows Phone 8.1 dropdown cordova nie działa
- 17. Problemy z emulatorem Windows Phone 8.1
- 18. Zmień domyślną stronę startową dla aplikacji Windows Phone 8.1 app
- 19. Jak korzystać z zestawu narzędzi Windows Phone w Windows Phone 8.1 Uniwersalna aplikacja
- 20. Pierwsze CivicAddress na Windows Phone 8.1
- 21. Jak utworzyć niestandardowy VirtualizingPanel w systemie Windows Phone 8.1/Windows 10?
- 22. ContactPicker nie działa w Windows Phone 8.1 Silverlight
- 23. Przyciski nawigacyjne ukrywające Windows Phone 8.1
- 24. Korzystanie z certyfikatów klienta dla systemu Windows RT (Windows 8.1/Windows Phone 8.1)
- 25. Jak mogę zainstalować narzędzia Windows 8.1 i Windows Phone 8.0/8.1 w środowisku visual studio 2015?
- 26. Jak uzyskać wersję aplikacji w systemie Windows Phone?
- 27. Windows Phone 8.1 z Xamarin Forms i usługą WCF
- 28. Jak poprawnie skonfigurować 'ContextMenu' w ListView dla Windows Phone 8.1?
- 29. Jak programowo wykrywać wersję systemu operacyjnego Windows Phone 8.1?
- 30. Wymiana MediaPlayerLauncher w Windows Phone 8.1 Uniwersalne aplikacje
Czy mogę wiedzieć, gdzie zapisywany jest plik dziennika? Czy mogę skopiować to na komputer przy użyciu narzędzia izolowanego narzędzia do przechowywania? –
Możesz zobaczyć w moim kodzie App.xaml.cs, że określam, że chcę, aby plik dziennika zapisany w folderze danych lokalnych mojej aplikacji o nazwie "MainLog.log", więc tak, możesz określić, gdzie zostanie zapisany. Powinieneś być w stanie użyć izolowanego narzędzia do przechowywania, aby skopiować plik na swój komputer. –
Dziękuję za odpowiedź. Mogę pobrać plik na mój komputer.Ale plik dziennika nie jest w formacie czytelnym (jak niektóre znaki-śmieci). Czy mimo to można go przekonwertować na format czytelny? –