2012-05-16 2 views
21

Я использую проект веб-сайта, я добавил NLog из 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 пытается создать log.txt в папке IISExpress вместо папки проекта веб-сайта.

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

Как я могу сделать NLog поместить мой файл журнала, log.txt, в папке Мой веб-сайт проекта вместо папки IISExpress?

ответ

42

Мы выяснили.

Добавить ${basedir} к имени

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

Кстати, это не должно быть нужно больше; начиная с версии 4.3, относительные пути должны вычисляться как относительно '$ {basedir}'. Темпус фугит. –

Смежные вопросы