我现在正试图在Xamarin.Forms上使用Log
Prism6.1.0-pre5的Prism.Logging.DebugLogger
方法来记录我的应用程序。
但它没有输出任何东西。
DebugLogger
已在this中实施。
但在汇编浏览器中,行Debug.WriteLine(messageToLog);
不会显示如下:
这与这个问题有关吗?我该如何正确使用它?
答案 0 :(得分:0)
它没有输出任何内容,因为正如您在反编译器中看到的那样(Xamarin Studio的汇编浏览器实际上反编译.NET代码),Log
实现没有做太多,它只调用{{1} }。
你最有可能使用的是Prism.dll的发布版本,可能是由NuGet获得的,所以当编译Prism.dll以便作者分发给NuGet时,string.Format
被编译器剥离了。 p>
另一件事:Xamarin Forms Debug.WriteLine
创建的默认记录器是PrismApplicationBase
。
导航到页面时发生错误(例如我在XAML中有错误),DebugLogger
中的实现调用默认记录器写入错误然后抛出错误:
由于上述原因未写入默认记录器错误,但即使PageNavigationService
引发错误,“输出”窗口中也不会显示任何内容,并且应用程序也不会崩溃。