【问题标题】:NLog, UWP - write logs to System.Diagnostic.DebugNLog、UWP - 将日志写入 System.Diagnostic.Debug
【发布时间】:2020-05-19 22:10:28
【问题描述】:

如何在 UWP 项目中配置 NLog 以在 Visual Studio Window:Output 中显示日志?

请注意,在 UWP 应用中 Console.WriteLine("hello") 不起作用。

要在 VisualStudio Window:Output 中编写,您必须使用来自 System.DiagnosticDebug.WriteLine("hello")

我在下面使用(几乎是默认的)NLog 配置。
登录到文件效果很好。登录到控制台不起作用。

var config = new NLog.Config.LoggingConfiguration();

var storageFolder = Windows.Storage.ApplicationData.Current.LocalFolder;
var logfile = new NLog.Targets.FileTarget("logfile") { FileName = storageFolder.Path + @"\file.txt" };
var logconsole = new NLog.Targets.ConsoleTarget("logconsole");

config.AddRule(LogLevel.Debug, LogLevel.Fatal, logconsole);
config.AddRule(LogLevel.Debug, LogLevel.Fatal, logfile);

NLog.LogManager.Configuration = config;

【问题讨论】:

标签: c# uwp nlog


【解决方案1】:

UWP 不支持控制台。

您可以写信给Trace target。这将使用 System.Diagnostics.Trace - 与 System.Diagnostics.Debug 几乎相同 - 在 Visual Studio 中都可见。

var traceTarget = new NLog.Targets.TraceTarget("target1");

【讨论】:

  • 太棒了!!!顺便说一句:1/ 我必须添加 traceTarget.RawWrite = true 否则日志有奇怪的前缀。 2/ OutputDebugString 也可以。
猜你喜欢
  • 2016-05-05
  • 2021-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多