在Windows上存储应用程序日志文件的位置

Windows用户环境中,将应用程序的debugging日志文件放在哪里是最好的“标准”位置?

在这个特定的情况下,这是一个运行一次,可能会出错的应用程序。 它将由系统pipe理员types运行,可能需要在应用程序运行后检查日志。 每次运行应用程序时,都会创build一个新的日志文件。

到目前为止,浮动的选项包括:

  1. 程序目录
  2. 用户的桌面
  3. 用户的本地Application Data目录。

我有我最喜欢的,但我想知道什么是共识。

注意:这与此问题类似,但是我们正在处理一个只能由一个用户运行一次的应用程序。

应用程序数据目录似乎是一个完美的地方,但它是一个几乎看不见的领域。 你需要给你的用户一个简单的方法去实现它。

让您的安装脚本在您的程序的“应用程序数据”区域中创建一个“日志”文件夹,并在“开始”菜单中包含指向该文件夹的链接。

日志的“标准”位置将是AppData目录。 但是,真正取决于你想存储的地方。 因为他们是管理员(高级用户),所以将日志存储在与正在运行的应用程序相同的目录中应该没有问题。 即使在用户的MyDocuments将是一个很好的留言。

在我工作的组织中,我们使用(%TEMP%或%TMP%)\ CompanyOrProductName \ Logs目录如果日志很多或很多,则使用%APPDATA%可能会对漫游配置文件造成问题:它会降低登录过程的速度。

1.程序目录< – 不好。 理想情况下,你将只有在这个文件夹的RX权限。

2.用户的桌面< – 技术上可以完成,但我不喜欢这个想法。 污染桌面…我作为一个用户,不喜欢它。

3.用户的本地应用程序数据目录。 < – 更好

我的首选项是程序目录下的一个子目录(名称如“DebugLog”或类似名称)。 该子目录上的权限应该允许创建和写入文件(“更改”将被罚款)

Windows临时文件夹

如果您预期出现问题,请将其置于用户的本地应用程序数据目录中。

如果你不想,只是想记录反正我可能会考虑真正使用临时目录。 推理这很简单。 如果应用程序只运行一次,则会在应用程序数据目录中留下垃圾,否则没有人会再次需要。 在临时你至少有CHANCE,它将在稍后被清理。

顺便说一句:恕我直言,最好的将不会创建日志作为一个文件在所有(登录到内存),直到出现问题。 然后,您仍然可以提供一个对话框,供用户选择在哪里保存日志。