Warum funktioniert die NLog-Konfiguration $ {breedir} nicht?

8

Warum kann ich $ {basedir} nlog.config nicht auf meinem Produktionsserver verwenden? Wenn ich fileName="${basedir}/logs/${shortdate}.log" verwende, protokolliert nlog die Nachrichteninformationen nicht, aber wenn ich zu etwas wie fileName="C:/logs/${shortdate}.log" wechsel, protokolliert es die Nachrichteninformation

meine nlog.config:

%Vor%

Controller:

%Vor%     
Willy 19.05.2014, 04:15
quelle

1 Antwort

8

Dieses Problem hängt mit der Dateiberechtigung zusammen. Kurzgeschichte: Der Benutzer, mit dem die Webanwendung ausgeführt wird, hat keine Berechtigung zum Schreiben der Protokolldateien.

Je nach Version von .NET und der Version von IIS gibt es eine Vielzahl von Benutzern.

Für IIS 6 würde ich sagen, dass die Webanwendung als NETWORK SERVICE account ausgeführt wird.

Daher müssen Sie diesem Benutzer die Berechtigung zum Schreiben / Ändern des Ordners logs erteilen (was vermutlich ein Unterordner des Webstamms ist). Wenn Sie möchten, dass der Ordner logs automatisch von NLog erstellt wird, müssen Sie diese Berechtigungen stattdessen dem Webstamm erteilen.

    
Brendan Green 19.05.2014, 11:16
quelle

Tags und Links