使用NLog文件路径中的应用程序数据目录



如何在NLog.config文件中设置target以在用户应用程序数据目录中创建日志文件?

以下是所需的文件位置。

C: \Users\userid\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"/>

文档可在此处找到。

我希望这能有所帮助。

接受的答案不会在AppData\Local目录中创建日志文件,而是在AppData\Roaming路径中创建日志。当OP要求在AppData\Local中创建日志文件时,您必须在specialfolder路径中使用LocalApplicationData

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

除了Jacco的答案之外,如果你想将日志与其他可能存储在appdata中的数据分开保存,你可以在路径中添加一个文件夹名称,比如:

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

最新更新