日志放在哪里?
Where to put logs?
我有一个 winform 应用程序,有时需要在与服务的连接中断时将信息记录到本地文件。重新连接后,所有日志文件将被发送到用于登录数据库的服务。因为日志存储在应用程序文件夹的根目录中,所以计算机的其他用户帐户可以读取它。因此,如果出现异常的用户 A 没有连接到该服务,则当用户 B 连接到该服务时,将发送用户 A 的日志文件的内容。
问题是一些用户没有给根文件夹写权限。
可以使用特殊的用户文件夹,但问题是用户 B 无法将用户 A 日志文件发送到服务。
是否有任何共享的 Windows 文件夹供我随时写入?或者我是否需要应用程序的根目录的写权限?
此致
如果你想为启动应用程序的每个用户写日志,我会把它们写在 AppData 中,但如果你想存储对你的应用程序来说是全局的日志,我会把日志写在 ProgramData 中。
在 C# 中,您可以使用 Environment.GetFolderPath and passing as an argument the desired Environment.SpecialFolder 获取这些特殊文件夹。
我有一个 winform 应用程序,有时需要在与服务的连接中断时将信息记录到本地文件。重新连接后,所有日志文件将被发送到用于登录数据库的服务。因为日志存储在应用程序文件夹的根目录中,所以计算机的其他用户帐户可以读取它。因此,如果出现异常的用户 A 没有连接到该服务,则当用户 B 连接到该服务时,将发送用户 A 的日志文件的内容。
问题是一些用户没有给根文件夹写权限。
可以使用特殊的用户文件夹,但问题是用户 B 无法将用户 A 日志文件发送到服务。
是否有任何共享的 Windows 文件夹供我随时写入?或者我是否需要应用程序的根目录的写权限?
此致
如果你想为启动应用程序的每个用户写日志,我会把它们写在 AppData 中,但如果你想存储对你的应用程序来说是全局的日志,我会把日志写在 ProgramData 中。
在 C# 中,您可以使用 Environment.GetFolderPath and passing as an argument the desired Environment.SpecialFolder 获取这些特殊文件夹。