为什么配置了NSSM的服务将错误消息输出到标准输出

时间:2018-10-26 11:32:22

标签: stdout stderr nssm

最近,我在NSSM的帮助下配置了两个单独的服务。 对于两者, stdout stderr 都将在 stdout 文件中输出,因此 stderr 文件始终为空即使有错误消息。

服务本身按预期运行。
它们最初是通过CLI使用以下命令配置的:

nssm install servicename "C:\service\path\file.exe"
nssm set servicename AppDirectory "C:\service\path"

nssm set servicename AppStdout "C:\service\logs\stdout.log"
nssm set servicename AppStderr "C:\service\logs\stderr.log"

nssm set servicename AppStdoutCreationDisposition 4
nssm set servicename AppStderrCreationDisposition 4

nssm set servicename AppRotateFiles 1
nssm set servicename AppRotateOnline 1
nssm set servicename AppRotateSeconds 0
nssm set servicename AppRotateBytes 50000

nssm set servicename Start SERVICE_AUTO_START
nssm start servicename

打开NSSM GUI显示一切均按预期配置。

这似乎是NSSM中的某种错误。有解决方案吗?还是我错过了什么?

1 个答案:

答案 0 :(得分:1)

这可能不能解决您的问题,但是在我的情况下,问题出在服务仅记录到stdout而不是将输出流分离到stdout和stderr。也许值得检查一下。

对我来说,NSSM现在正在正确地登录到stdout和stderr。