You should be able to use environment variables in your logfile path. I believe that Environment.SpecialFolder.ApplicationData
would be equivalent to %APPDATA%
.
So you can set the fileName to: %APPDATA%\MyApplication\Logs\trace.log
The directory structure will also be created for you at runtime so you don't have to explicitly create the folders.
The configuration file would look something like:
<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" />