为什么我不能在生产服务器中使用${basedir} nlog.config?如果我使用fileName="${basedir}/logs/${shortdate}.log"
,nlog将不会记录消息信息,但是如果我更改为类似fileName="C:/logs/${shortdate}.log"
的内容,则会记录消息信息。
我的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">
<targets>
<target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log"
layout="${longdate} ${uppercase:${level}} ${message}" />
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="f" />
</rules>
</nlog>
Controller:
public class HomeController : Controller
{
private static Logger logger = LogManager.GetCurrentClassLogger();
public ActionResult Index()
{
logger.Debug("Test NLog");
return View();
}
}
${basedir}
中创建文件夹? - Brendan GreenNETWORK SERVICE
账户下运行ASP.NET。在您的Windows Server 2008服务器上,您需要授予此帐户权限以写入/修改您的logs
文件夹(我假设这是您的Web根目录的子文件夹)。如果您想让NLog自动创建logs
文件夹,则需要将这些权限授予Web根目录。 - Brendan Green