Подтвердить что ты не робот

Использовать каталог данных приложения в пути к файлу NLog

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

Ниже находится желаемое расположение файла.

C:\Users\идентификатор пользователя \AppData\Local...\LogFile.txt

Я попытался установить fileName следующими способами без каких-либо успехов.

  • target name="logfile" xsi:type="File" fileName="%APPDATA%/.../LogFile.txt"

  • target name="logfile" xsi:type="File" fileName="${APPDATA}/.../LogFile.txt"

  • target name="logfile" xsi:type="File" fileName="${%APPDATA%}/.../LogFile.txt"

4b9b3361

Ответ 1

Вы можете достичь этого, создав такой объект:

<target name="logfile" xsi:type="File"
    fileName="${specialfolder:folder=ApplicationData}/LogFile.txt"/>

Документацию можно найти здесь.

Надеюсь, это поможет.

Ответ 2

Просто добавление к ответу Jacco, вы можете добавить имя папки в путь, если вы хотите, чтобы журналы хранились отдельно от других данных, которые вы могли бы хранить в appdata, например:

fileName="${specialfolder:folder=ApplicationData}/Logs/LogFile.txt"/>

Ответ 3

Принятый ответ не создает файл журнала в каталоге AppData\Local, вместо этого он создает файл журнала в каталоге AppData\Roaming. Как запрошено OP для создать файл журнала в AppData\Local, вы должны использовать LocalApplicationData​​strong > в специальном пути папки.

<target name="logfile" xsi:type="File"
    fileName="${specialfolder:folder=LocalApplicationData}/ApplicationLogs/LogFile.txt"/>

Ответ 4

Вы также можете использовать следующее:

    <target name ="file_name" xsi:type="File" filename="${basedir}/file_name.txt"></target>

Здесь ${basedir} обозначает текущий рабочий каталог (где приложение запущено).