c# - Windows 服务写入日志文件的权限

标签 c# windows-services nlog

我使用 C# 创建了一个 Windows 服务,该服务在 C:\ProgramData 中写入日志(使用 NLog )。
当我调试服务(在我的 Windows 7 上)(使用上面编写的代码)时,日志文件已正确创建,日志记录也已正确写入。 但是,当我在 Windows Server 2008 (x86) 上运行的服务器上安装该服务时,不会创建任何日志文件(我还 checkin 了 C:\Windows\System32\,那里什么也没有)。

我怀疑这是一个授权问题,那么我如何知道我的服务正在使用什么权限?

PS:我已经使用命令行安装了我的服务C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe C:\PathToMyService\MyService.exe 具有管理员权限。

最佳答案

运行services.msc,找到您的服务,右键单击并选择属性。检查登录选项卡以查看您的服务正在哪个帐户下运行。

至于您的问题,默认情况下,我认为大多数服务在本地系统帐户下运行,我假设该帐户具有写入C:\ProgramData目录的权限。您是否确定 nlog.config 文件已随您的服务一起部署?

关于c# - Windows 服务写入日志文件的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7525854/

相关文章:

c++ - CreateProcessWithLogonW : unable to start process

mysql - MariaDB install : I unchecked running as service during installation. 启动和停止 mariadb 的正确方法是什么?

c# - NLog 不写调试消息

c# - 如何让 NLog 输出出现在 Azure 函数的流日志中?

c# - Web api 路由 - 默认操作与自定义操作映射两次

c# - Unity3D 的 OpenCV dll 调用导致 FPS 下降

c# - 在 XML 代码注释中引用泛型类型

c# - 在模拟对数据库的 WCF 调用时遇到问题,显示 domain\Machine$ 登录失败

.net - 我可以配置 NLog 在日志达到一定限制后修剪日志吗?

c# - 一行中的多个对象