3 votes

Comment se connecter au dossier ApplicationData de l'utilisateur en utilisant Enterprise Library Logging ?

J'utilise MS EnterpriseLibrary.Logging et cela fonctionne parfaitement, mais le ou les fichiers journaux sont placés dans le répertoire exécutable du programme.

Comment faire pour qu'il place mes fichiers journaux dans le dossier ApplicationData de chaque utilisateur ?

Le dossier dont je parle est celui que vous obtenez en appelant :

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)

6voto

Tuzo Points 14234

Vous devriez pouvoir utiliser des variables d'environnement dans le chemin de votre fichier journal. Je crois que Environment.SpecialFolder.ApplicationData serait équivalent à %APPDATA% .

Vous pouvez donc définir le nom du fichier comme suit : %APPDATA% \MyApplication\Logs\trace.log La structure des répertoires sera également créée pour vous au moment de l'exécution, de sorte que vous n'aurez pas à créer explicitement les dossiers.

Le fichier de configuration ressemblerait à quelque chose comme :

  <add fileName="%APPDATA%\MyApplication\Logs\trace.log" header=""
    footer="" formatter="Text Formatter"     
    listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null"
    traceOutputOptions="None" filter="All" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null"
    name="Flat File Destination" />

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