代码之家  ›  专栏  ›  技术社区  ›  Darcy Casselman

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

  •  29
  • Darcy Casselman  · 技术社区  · 15 年前

    将应用程序的调试日志文件放在Windows用户环境中的最佳“标准”位置在哪里?

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

    迄今为止浮动的选项包括:

    1. 程序目录
    2. 用户的桌面
    3. 用户的本地应用程序数据目录。

    我有我的最爱,但我想知道这样的共识是什么。

    注:这类似于 this question 但是我们正在处理一个只可能由一个用户运行一次的应用程序。

    7 回复  |  直到 6 年前
        1
  •  14
  •   Mark Ransom    15 年前

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

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

        2
  •  4
  •   James    15 年前

    日志的“标准”位置是appdata目录。然而,真正取决于你想把它们放在哪里。因为他们是管理员(超级用户),所以将日志存储在与正在运行的应用程序相同的目录中应该没有问题。即使在mydocuments中,用户也会大喊大叫。

        3
  •  4
  •   GoJiTa972    11 年前

    在我为之工作的组织中,我们使用的是(%temp%或%tmp%)\companyorproductname\logs目录 如果日志太多或太大,使用%appdata%可能会对漫游配置文件产生问题:这会减慢其登录过程…

        4
  •  3
  •   DmitryK    15 年前

    1.程序目录<-不好。理想情况下,您对此文件夹只有Rx权限。

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

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

    我的首选项是程序目录下的一个子目录(有一个明确的名称,如“debugog”或类似的东西)。该子目录上的权限应允许创建和写入文件(“更改”将很好)

        5
  •  2
  •   Foxfire    15 年前

    如果你 期待 如果出错,请将其放在用户的本地应用程序数据目录中。

    如果您不想也只想以任何方式登录,我可能会考虑真正使用temp目录。原因很简单。如果应用程序只运行一次,那么您将在应用程序数据目录中留下垃圾,否则将不再需要任何人了。在这种温度下,你至少有机会在以后把它清理干净。

    btw:imho最好不要将日志创建为文件(记录到内存中),直到出现问题为止。然后您仍然可以提供一个对话框,用户可以在其中选择保存日志的位置。

        6
  •  1
  •   Zote    15 年前

    Windows临时文件夹

        7
  •  0
  •   cdiggins    6 年前

    假设您希望将日志文件保留在相当长的时间内,并且希望使用它们,那么read i会将日志文件放在 %localappdata% .