【发布时间】:2019-08-10 03:46:33
【问题描述】:
我只想在将在 UWP、Mac OS X、iOS 和 Android 上运行的 Xamarin 应用程序中使用标准 TraceSource 登录到控制台和日志文件。我正在 UWP 上开发/调试。
TraceSource、TraceListener 和 TextWriterTraceListener 确实都在 .Net 标准库中可用,所以也许我设置不正确? Internet 上的大多数地方都坚持在 app.config 文件中设置跟踪侦听器,但这不适用于 Xamarin 应用程序,也不可能。所以这是我的日志初始化代码,主要基于 Microsoft 文档中的示例:
private void SetupLogging()
{
Trace.Listeners.Add(new TextWriterTraceListener(Console.Out, "consoleTraceListener"));
string logFilePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "Application.log");
if (!File.Exists(logFilePath)) File.Create(logFilePath);
var logFileTraceListener = new TextWriterTraceListener(logFilePath, "logFileTraceListener");
Trace.Listeners.Add(logFileTraceListener);
Trace.Write("Test");
Trace.TraceInformation("Logging Initialized. Log file location: " + logFilePath);
Trace.Flush();
}
当我在 Xamarin UWP 应用程序中运行它时,会创建一个文件,但没有写入任何内容,我也无法在程序的输出中找到任何内容(没有 ConsoleTraceListener 所以我正在尝试编写一个TextWriterTraceListener 到 Console.Out)。有人可以为 Xamarin 提供一个工作示例吗? (我还没有尝试过 Android 或 iOS 应用程序;想先让本地机器上的 UWP 工作。)
【问题讨论】:
-
以下答案有效吗?
标签: xamarin uwp tracelistener