【问题标题】:Where should I put logs in Windows 8?我应该将日志放在 Windows 8 的什么位置?
【发布时间】:2013-12-03 15:04:17
【问题描述】:

我使用 NLog 作为 WPF 应用程序的记录器。正如您在我的配置中看到的那样,我将其配置为将日志文件存储在 CommonApplicationData 中。

fileName="${specialfolder:folder=CommonApplicationData}/MyApp/log.txt" 

这给了

C:\ProgramData\MyApp\log.txt

它适用于 W7。但是,它似乎不适用于 W8。我有点困惑。

有谁知道我应该将我的日志文件放在 Windows 8 的什么位置?我想集中我的日志。因此,该文件夹需要可由我的应用程序写入。

谢谢

【问题讨论】:

  • 您检查过文件夹的权限吗?我认为它是写保护的,也许你的问题来自这里。尝试以管理员身份运行您的程序,或者至少捕获异常以了解发生了什么。
  • 我也认为问题与文件夹的权限有关。但是,我不知道如何使该文件夹可从 Visual Studio 安装项目中写入。而且我不想要求用户以管理员权限运行软件(也许他们也没有权限)
  • 如果没有管理员权限,您将无法更改此文件夹的权限。您必须将日志存储在另一个不受保护的文件夹中。也许 LocalApplicationData 应该更好。
  • 好的,谢谢,我试试。只要我必须将应用程序发送给用户,反馈就会很长。
  • 好的,没问题。我发布了一个答案,其中包含我在上面告诉你的内容。

标签: c# wpf windows-8 nlog


【解决方案1】:

如果您需要在没有管理员权限的情况下将文件存储在程序中,则必须使用未受保护(即当前用户可写)的文件夹。 LocalApplicationData 就是为了这个目的。

也可以直接存放在Documents文件夹中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-12
    • 1970-01-01
    • 1970-01-01
    • 2010-12-04
    • 1970-01-01
    • 2012-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多