UWP Windows 10是否支持NLog日志记录?

时间:2018-07-06 17:39:15

标签: c# uwp nlog event-viewer

我需要将日志写入安装了UWP应用程序的系统的事件查看器。请帮助

<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <targets>
    <target xsi:type="EventLog" name="eventlog" layout="${message}" machineName="." source="TestNlog" log="MyTestNlog" />    
  </targets>
  <rules>
    <logger name="*" minlevel="Trace" writeTo="eventLog" />
  </rules>  
</nlog>

2 个答案:

答案 0 :(得分:0)

UWP应用程序运行沙箱,并且该应用程序的InstalledLocation不能写入,只能由读者读取。您可以尝试使用Windows.Storage.ApplicationData.Current.LocalFolder编写日志。您可以参考Log to file in UWP application这个问题。

有关UWP应用程序文件访问权限的更多详细信息,请参阅官方文档: https://docs.microsoft.com/en-us/windows/uwp/files/file-access-permissions#application-data-locations

答案 1 :(得分:0)

通常,UWP应用程序具有非常有限的访问权限(甚至是磁盘访问权限),因此写入EventLog可能不起作用。

但是NetCore默认情况下不支持EventLog,但是Microsoft使NetCore2应用程序可以访问EventLog:

https://www.nuget.org/packages/NLog.WindowsEventLog/