2012-05-16 5 views
21

ich ein Website-Projekt verwende, habe ich Nlog von Nuget, und verwendet, um die folgende NLog Konfiguration:Nlog nicht Datei in Bezug auf Website-Projekt erstellen

<?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> 

ich ProcessMonitor- lief und es zeigt, dass Nlog zu schaffen versucht, log.txt im IISExpress-Ordner anstelle des Projektordners meiner Website.

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

Wie kann ich meine NLog Protokolldatei setzen, log.txt, in meiner Website-Projekt-Ordner anstelle des IISExpress Ordner?

Antwort

42

Wir haben es herausgefunden.

hinzufügen ${basedir} an den Dateinamen

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

Übrigens, sollte dies nicht mehr benötigt werden; Ab Version 4.3 sollten relative Pfade relativ zu '$ {basedir}' berechnet werden. Die Zeit flieht. –