NLog无法写入安装目录中的日志文件

Jul*_*old 4 nlog

我有一个记录的应用程序,当我将其部署到默认目录时,我没有得到任何基于文件的日志记录.似乎很清楚,原因是写入"c:\ program files(x86)\ blah"需要提升我的应用程序所没有的privelege级别.所以我最终告诉用户"安装到"c:\ blah"并且它会正常工作,但它确实很垃圾.任何替代方案?

wag*_*ghe 5

您可以配置NLog以登录到其他文件夹.NLog具有SpecialFolderLayoutRenderer,允许您使用.NET的特殊文件夹.您应该能够使用SpecialFolderLayoutRenderer指定日志文件名.也许这样的事情(我没试过这个):

<target name="file" xsi:type="File" layout="${longdate} | ${logger} | "${level} | ${message}" fileName="${specialfolder:folder=MyDocuments:dir=LogFiles:file=${shortdate}.log}" />
Run Code Online (Sandbox Code Playgroud)

这应该(如果有效)LogFiles在用户Documents文件夹的子文件夹中创建日志文件,实际日志文件名对应于日期.我不知道,但我猜想NLog会在第一次记录任何内容时创建LogFiles文件夹.

祝好运!