如何在NLog.config文件中设置target
以在用户应用程序数据目录中创建日志文件?
以下是文件的理想位置。
C:\ Users \用户的用户ID \应用程序数据\本地... \ 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"
答案 0 :(得分:41)
您可以通过创建这样的目标来实现这一目标:
<target name="logfile" xsi:type="File"
fileName="${specialfolder:folder=ApplicationData}/LogFile.txt"/>
可以找到文档here。
我希望这会有所帮助。
答案 1 :(得分:5)
接受的答案不会在 AppData \ Local 目录中创建日志文件,而是在 AppData \ Roaming 目录中创建日志文件。 根据OP要求在AppData \ Local 中创建日志文件,您必须在specialfolder路径中使用 LocalApplicationData 。
<target name="logfile" xsi:type="File"
fileName="${specialfolder:folder=LocalApplicationData}/ApplicationLogs/LogFile.txt"/>
答案 2 :(得分:3)
除了Jacco的答案之外,如果您希望将日志与可能存储在appdata中的其他数据分开保存,您可以在路径中添加文件夹名称,如下所示:
fileName="${specialfolder:folder=ApplicationData}/Logs/LogFile.txt"/>
答案 3 :(得分:-5)
您还可以使用以下内容:
<target name ="file_name" xsi:type="File" filename="${basedir}/file_name.txt"></target>
此处 $ {basedir} 表示您当前的工作目录(应用程序正在运行的位置)。