Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在何处存储可能由低完整性进程和Windows服务生成的日志文件?_C++_Windows_Winapi_Logging - Fatal编程技术网

C++ 在何处存储可能由低完整性进程和Windows服务生成的日志文件?

C++ 在何处存储可能由低完整性进程和Windows服务生成的日志文件?,c++,windows,winapi,logging,C++,Windows,Winapi,Logging,简言之:Windows中是否有一个标准的文件夹,1)可由低完整性进程写入2)独立于运行进程的用户 关于日志文件的位置,堆栈溢出有很多问题,但我认为我的问题有点不同 我的应用程序有两个主要组件:ActiveX(在IE下运行,因此完整性较低)和Windows服务。它们都会生成日志,我希望将所有内容都存储在同一个位置 我尝试使用SHGetKnownFolderPath(FOLDERID\u LocalAppDataLow)。对于ActiveX来说这很好,但是Windows会为我的服务返回以下文件夹:

简言之:Windows中是否有一个标准的文件夹,1)可由低完整性进程写入2)独立于运行进程的用户


关于日志文件的位置,堆栈溢出有很多问题,但我认为我的问题有点不同

我的应用程序有两个主要组件:ActiveX(在IE下运行,因此完整性较低)和Windows服务。它们都会生成日志,我希望将所有内容都存储在同一个位置

我尝试使用
SHGetKnownFolderPath(FOLDERID\u LocalAppDataLow)
。对于ActiveX来说这很好,但是Windows会为我的服务返回以下文件夹:
C:\Windows\SysWOW64\config\systemprofile\AppData\LocalLow\
。这是不好的,原因有很多

我也不能使用
%AllUsersProfile%
或%APPDATA%,因为低完整性进程在那里没有写权限


我曾考虑让我的服务查找当前登录的用户并手动访问LocalLow文件夹,但其中可能有0个或多个,因此这也是一个问题。

我仍然会选择%ALLUSERSPROFILE%。在该路径下,通常会为公司名称创建一个文件夹,然后为产品创建一个文件夹。常规非管理员用户帐户可以写入%ALLUSERSPROFILE%,但对于您的特定场景,如果默认ACL不够好,您可以在安装期间始终修改特定应用程序在目录上的权限


我们已经部署了与您非常相似的东西(IE中运行的ActiveX控件以及一组服务和常规应用程序),在那里我们可以毫无问题地存储日志

系统日志呢?您需要写入您自己的单独文件吗?@Acme:temp文件夹是否也依赖于用户名?在我的Win7 x64机器上,%temp%等于“C:\Users\pfranco\AppData\Local\temp”。@Cody Gray:使用系统日志意味着重写我的整个日志基础结构,所以这是不可能的。