NLog interne log funktioniert nicht mit ASP.Net MVC
Ich habe ein problem mit NLog für die Protokollierung Ihrer internen Protokolle mit dieser Konfiguration
<?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"
throwExceptions="true"
internalLogFile="${basedir}/App_Data/NLog.log"
internalLogLevel="Trace">
<targets>
<target name="debug"
xsi:type="File"
fileName="${basedir}/App_Data/Site.log" />
</targets>
<rules>
<logger name="*"
writeTo="debug" />
</rules>
</nlog>
Das Ziel "debug" funktioniert gut, aber die internalLogFile funktioniert nur wenn ich es zum Beispiel auf "D:/NLog.log".
Irgendeine Idee warum das passiert?
- Beachten Sie, dass die Standard-Pfad ist, wo immer IISExpress installiert ist. Wenn Sie angeben: InternalLogFile="nLogError.txt". Dann (zumindest auf meinem PC) wird, versuchen Sie es und schreiben Sie zu "C:\Program Files (x86)\IIS Express\nlogExceptions.txt". Die Erlaubnis Probleme.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht verwenden, die layout-Renderer ${...} in der internalLogFile Eigenschaft. Sie sind für ein Ziel-layout nur:
Versuchen, einen relativen Pfad wie "..\App_Data\NLog.log"
Den
internalLogFile
- Attribut muss gesetzt werden, um einen absoluten Pfad und die Ausführung der Montage muss die Berechtigung haben zu schreiben, dass der absolute Pfad.Folgende für mich gearbeitet.
c:
Fahrt, z.B.c:\logs
internalLogFile="C:\logs\nlog.txt"
Denken Sie daran, zu bereinigen nach sich selbst und nicht aus einem Verzeichnis mit dieser Art von Berechtigungen auf
vom dieser link ich denke, der Pfad ist absolut