NLog 不适用于 Linux

NLog doesnt work on Linux

我有 asp.net 核心 1.1 应用程序,它是 运行 在 Ubuntu 16.04 上。使用 NLog 配置日志记录:

    loggerFactory.AddNLog();
    loggerFactory.ConfigureNLog("nlog.config");
    app.AddNLogWeb();

在我的开发 Windows 系统上一切正常:已创建日志文件夹并且日志记录按预期工作。但是在 Linux 上,日志记录不起作用。怎么了?

nlog.config

<?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"
      autoReload="true"
      internalLogLevel="Warn"
      internalLogFile="internal-nlog.txt">
  <extensions>
    <add assembly="NLog.Web.AspNetCore"/>
  </extensions>
  <variable name="logDirectory" value="logs/${shortdate}" />
  <variable name="logRootDirectory" value="logs" />

  <targets>
    <target name="fileLogTrace" xsi:type="File" fileName="${logDirectory}/trace.txt" />
    <target name="fileLogDebug" xsi:type="File" fileName="${logDirectory}/debug.txt" />
    <target name="fileLogInfo" xsi:type="File" fileName="${logDirectory}/info.txt" />
    <target name="fileLogWarn" xsi:type="File" fileName="${logDirectory}/warn.txt" />
   </targets>

  <rules>
    <logger name="*" level="Trace" writeTo="fileLogTrace" />
    <logger name="*" level="Debug" writeTo="fileLogDebug" />
    <logger name="*" level="Info" writeTo="fileLogInfo" />
    <logger name="*" level="Warn" writeTo="fileLogWarn" />
  </rules>

</nlog>

我终于解决了问题。 权限存在一些问题。几次 $ sudo chmod -R 777 . 和几次服务器重启就可以解决问题。现在一切都在记录。