Ответ 1
Вы можете достичь этого, создав такой объект:
<target name="logfile" xsi:type="File"
fileName="${specialfolder:folder=ApplicationData}/LogFile.txt"/>
Документацию можно найти здесь.
Надеюсь, это поможет.
Как я могу установить 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"
Вы можете достичь этого, создав такой объект:
<target name="logfile" xsi:type="File"
fileName="${specialfolder:folder=ApplicationData}/LogFile.txt"/>
Документацию можно найти здесь.
Надеюсь, это поможет.
Просто добавление к ответу Jacco, вы можете добавить имя папки в путь, если вы хотите, чтобы журналы хранились отдельно от других данных, которые вы могли бы хранить в appdata, например:
fileName="${specialfolder:folder=ApplicationData}/Logs/LogFile.txt"/>
Принятый ответ не создает файл журнала в каталоге AppData\Local, вместо этого он создает файл журнала в каталоге AppData\Roaming. Как запрошено OP для создать файл журнала в AppData\Local, вы должны использовать LocalApplicationDatastrong > в специальном пути папки.
<target name="logfile" xsi:type="File"
fileName="${specialfolder:folder=LocalApplicationData}/ApplicationLogs/LogFile.txt"/>
Вы также можете использовать следующее:
<target name ="file_name" xsi:type="File" filename="${basedir}/file_name.txt"></target>
Здесь ${basedir} обозначает текущий рабочий каталог (где приложение запущено).