Почему службы, настроенные с помощью 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 показывает, что все настроено так, как ожидается.
Кажется, это какая-то ошибка в NSSM. Есть ли решение для этого? Или я что-то упустил?
0 ответов
Возможно, это не решение вашей проблемы, но в моем случае проблема возникла из-за того, что служба регистрировалась только в stdout, а не разделяла выходной поток на stdout и stderr. Может стоит проверить это.
Для меня NSSM теперь корректно регистрируется в stdout и stderr.