2010-04-23 3 views
3

J'utilise MS EnterpriseLibrary.Logging et cela fonctionne parfaitement, mais le fichier journal (s) sont placés dans le répertoire de l'exécutable du programme.Comment se connecter au dossier ApplicationData de l'utilisateur à l'aide de Enterprise Logging Logging?

Comment puis-je l'obtenir pour placer mes fichiers journaux dans le dossier applicationData de l'utilisateur individuel?

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

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) 

Répondre

6

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

Vous pouvez définir le fileName: % APPDATA% \ MyApplication \ Logs \ trace.log La structure du répertoire sera également créé pour vous lors de l'exécution afin que vous ne devez 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" /> 
+0

Thx m8, Vous avez touché le doigt sur place :-) fonctionne parfaitement .. –

+0

travaillé comme charme. Merci mec! Vraiment nécessaire et je l'ai eu! – Venkat