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 .
和几次服务器重启就可以解决问题。现在一切都在记录。
我有 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 .
和几次服务器重启就可以解决问题。现在一切都在记录。