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

Vla*_*lav 8 stdout stderr nssm

最近,我在 NSSM 的帮助下配置了两个单独的服务。对于两者,stdoutstderr都在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
Run Code Online (Sandbox Code Playgroud)

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

这似乎是 NSSM 中的某种错误。有解决办法吗?或者我错过了什么?

小智 2

这可能无法解决您的问题,但就我而言,问题来自于服务仅记录到 stdout,而不是将输出流分离到 stdout 和 stderr。也许值得检查一下。

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