Nlog没有在网站项目的相对位置下创建文件。

30

我正在使用一个网站项目,我从Nuget添加了Nlog,并使用了以下NLog配置:

<?xml version="1.0" encoding="utf-8" ?>
<nlog autoReload="true" 
      throwExceptions="true" 
      xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <targets>
        <target name="logfile" xsi:type="File" fileName="log.txt" />
    </targets>

    <rules>
        <logger name="*" minlevel="Info" writeTo="logfile" />
    </rules>
</nlog>

我运行了ProcessMonitor,结果显示Nlog试图在IISExpress文件夹中创建log.txt而不是我的网站项目文件夹。

C:\Program Files (x86)\IIS Express\log.txt

我该如何让NLog将我的日志文件log.txt放在我的网站项目文件夹而不是IISExpress文件夹中?

1个回答

56

我们解决了问题。

在文件名中添加${basedir}

filename="${basedir}/log.txt"

1
顺便提一下,这个不再需要了;从4.3版本开始,相对路径应该是相对于${basedir}计算的。时光飞逝。 - Jon Hanna
在桌面应用程序中,如果你省略了一些 ".." 开头的内容(例如 "Logs\mylog.log" 而不是 "..\Logs\mylog.log"),它最终会出现在 C:\Users\username\AppData\local\ 目录下。叹气 - smirkingman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接