Windows 设备门户中的空 ETW 消息

Empty ETW message in Windows Device Portal

我正在尝试在部署到 RPI2 (Windows IOT v.10.0.15063.0) 的 UWP 应用程序上将一些内容记录到 ETW。在设备门户上,我可以看到新日志,但消息为空(有效负载给我:“stringmessage:,”)

var _loggingChannel = new LoggingChannel("HA4IoT", null, new Guid("4bd2826e-54a1-4ba9-bf63-92b73ea1ac4a"));
_loggingChannel.LogMessage("Test", LoggingLevel.Information);

我正在尝试改用 LogEvent,但任何字符串字段的行为都是这样的 - 记录的值是空的,保存的 CSV 也没有关于记录内容的数据。

在我的 Raspberry Pi2 上它可以工作。我复制了你的代码并执行了。

我的 Windows IoT Core 10 版本是:10.0.14393.67

结果如下所示:

我设置的物联网后台应用的目标版本如下:

CSV 导出在我的机器上看起来也不错:

Timestamp,Provider,ID
04/27/2017-21:23:36.8150656,HA4IoT,0,Keyword:1,Level:4,ProviderName:HA4IoT,StringMessage:Test,TaskName:LogMsgInformation,WebbCompletePayload:stringmessage:test, 

此致, 克里斯蒂安

抱歉,您遇到了这个问题 - 在设备门户的创建者更新中,ETW 解析逻辑中存在一个已知的回归问题,我们正在努力修复。现在我们没有解决方法,只能编写 WPR 配置文件并收集 ETL,并使用 ETL 来收集您的日志。

您可以在此处跟踪我们的修复:https://wpdev.uservoice.com/forums/110705-universal-windows-platform/suggestions/18591439-loggingchannel-not-showing-string-message-content 当代码在 Insiders 航班中修复后,我会更新它,然后一旦我们知道修复是否可以向后移植。

更新:这已在秋季创意者更新中修复,并且已经发布了几个月。期待在跨平台的 Windows 的下一次更新中看到它。