Как войти в папку ApplicationData пользователя с помощью ведения журнала Enterprise Library? - PullRequest
3 голосов
/ 23 апреля 2010

Я использую MS EnterpriseLibrary.Logging, и это прекрасно работает, но файлы журналов помещаются в каталог исполняемых файлов программы.

Как мне разместить файлы журналов в applicationData отдельного пользователяпапка?

Папка, о которой я говорю, это та, которую вы вызываете:

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)

1 Ответ

6 голосов
/ 24 апреля 2010

Вы должны иметь возможность использовать переменные окружения в вашем пути к лог-файлу.Я считаю, что Environment.SpecialFolder.ApplicationData будет эквивалентно %APPDATA%.

Поэтому вы можете установить fileName на: % APPDATA% \ MyApplication \ Logs \ trace.log Структура каталогов такжебыть создан для вас во время выполнения, поэтому вам не нужно явно создавать папки.

Файл конфигурации будет выглядеть примерно так:

  <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" />
...