我是Windows手机平台的新手。有什么可用的东西像android中的logcat用于收集日志吗?提前感谢。
答案 0 :(得分:6)
Windows 8.1引入了新类来简化日志记录。这些课程为LoggingChannel,LoggingSession和others。
以下是一个例子:
<强> 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);
}
我高度建议在2013年建设会议期间观看Making your Windows Store Apps More Reliable主题演讲,其中Harry Pierson更详细地演示了这些新API(包括使用背景将日志文件上传到后端服务器)手机连接到交流电源时执行的任务。)
答案 1 :(得分:0)
您可以使用 System.Diagnostics.Debug 在Visual Studio控制台窗口中查看日志,但您之后无法收集它们,因为它仅在调试期间显示
我建议使用MetroLog,一种专为Windows应用商店和Windows Phone应用设计的轻量级日志系统。
您可以使用NuGet
安装它Install-Package MetroLog
这是一个简单的例子:
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.");
您可以在http://talkitbr.com/2015/06/11/adicionando-logs-em-universal-apps找到解释如何将其添加到项目中的教程。还有关于检索这些日志的解释。