54 votes

AppData Pour NLog

Mon NLog cibles est comme ceci:

<targets>
  <target xsi:type="Console" name="console" 
    layout="${longdate}|${level}|${message}" />
  <target xsi:type="File" name="ErrorLog" fileName="${basedir}/error.txt"
          layout="${longdate}
          Trace: ${stacktrace} 
          ${message}" />
  <target xsi:type="File" name="AccessLog" fileName="${basedir}/access.txt"
          layout="${shortdate} | ${message}" />
</targets>

Mais cela provoque des problèmes si l'utilisateur n'est pas un admin sur leur machine, car ils n'auront pas accès en écriture à "Program Files". Comment puis-je obtenir quelque chose comme le %AppData% à NLog au lieu de BaseDir?

93voto

Oren Mazor Points 2828

Vous êtes à la recherche pour le NLog dossiers spéciaux.

Exemple:

...fileName="${specialfolder:folder=ApplicationData}/Program/file.txt"...

13voto

bkaid Points 29335

Oren la réponse devrait être la bonne réponse. Cependant, pour la vie de moi je ne pouvais pas le faire fonctionner avec mon .NET 4.0 site web à l'aide de nLog 2.0.0.0. J'ai fini par utiliser tout simplement

fileName="${basedir}app_data\logs\${shortdate}.log" 

7voto

Sylar Points 21

${specialfolder:ApplicationData} fonctionne aussi

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X