Comment puis-je définir target
dans le fichier NLog.config pour créer le fichier journal dans le répertoire de données de l'application utilisateur?
Vous trouverez ci-dessous l'emplacement souhaité du fichier.
C:\Users\userid\AppData\Local ...\LogFile.txt
J'ai essayé de définir le fileName
des manières suivantes sans succès.
target name="logfile" xsi:type="File" fileName="%APPDATA%/.../LogFile.txt"
target name="logfile" xsi:type="File" fileName="${APPDATA}/.../LogFile.txt"
target name="logfile" xsi:type="File" fileName="${%APPDATA%}/.../LogFile.txt"
Vous pouvez y parvenir en créant une cible comme celle-ci:
<target name="logfile" xsi:type="File"
fileName="${specialfolder:folder=ApplicationData}/LogFile.txt"/>
La documentation peut être trouvée ici .
J'espère que ça aide.
La réponse acceptée ne crée pas le fichier journal dans le répertoire AppData\Local mais crée le fichier journal dans le répertoire AppData\Roaming. Comme demandé par l'OP créer le fichier journal dans AppData\Local vous devez utiliser LocalApplicationData dans le chemin du dossier spécial.
<target name="logfile" xsi:type="File"
fileName="${specialfolder:folder=LocalApplicationData}/ApplicationLogs/LogFile.txt"/>
Juste un ajout à la réponse de Jacco, vous pouvez ajouter un nom de dossier au chemin si vous souhaitez que les journaux soient conservés séparément des autres données que vous pourriez stocker dans les données d'application, comme ceci:
fileName="${specialfolder:folder=ApplicationData}/Logs/LogFile.txt"/>