1

I tried to set up an nssm service for starting a node-js module using the NSSM service editor GUI. This worked fine for the command itself, node-js starts fine. The problem was when I tried to redirect the output, on the i/o tab, to a log file, setting Output (stdout) and Error (stderr) to D:\qewd-up\Log\Log.txt The log file appears there, but seems to be filled with strange characters (like Chinese) rather than the actual ASCII text output that appears on the terminal if the stdout is left alone and node-js is started from there. What is the right way to do this? Thanks!

Version: 2.24.0.74 Configuration:

PS C:\Program Files\nodejs> nssm get QEWD-UP Application
c:\Program Files\nodejs\node.exe
PS C:\Program Files\nodejs> nssm get QEWD-UP AppParameters
node_modules/qewd/up/run_native.js
PS C:\Program Files\nodejs> nssm get QEWD-UP AppDirectory
d:\qewd-up
PS C:\Program Files\nodejs> nssm get QEWD-UP AppExit
Parameter "AppExit" requires a subparameter!
PS C:\Program Files\nodejs> nssm get QEWD-UP AppAffinity
All
PS C:\Program Files\nodejs> nssm get QEWD-UP AppEnvironment

PS C:\Program Files\nodejs> nssm get QEWD-UP AppEnvironmentExtra

PS C:\Program Files\nodejs> nssm get QEWD-UP AppNoConsole
1
PS C:\Program Files\nodejs> nssm get QEWD-UP AppPriority
NORMAL_PRIORITY_CLASS
PS C:\Program Files\nodejs> nssm get QEWD-UP AppRestartDelay
0
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStdin

PS C:\Program Files\nodejs> nssm get QEWD-UP AppStdinShareMode
2
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStdinCreationDisposition
3
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStdinFlagsAndAttributes
128
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStdout

PS C:\Program Files\nodejs> nssm get QEWD-UP AppStdoutShareMode
3
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStdoutCreationDisposition
4
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStdoutFlagsAndAttributes
128
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStderr

PS C:\Program Files\nodejs> nssm get QEWD-UP AppStderrShareMode
3
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStderrCreationDisposition
4
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStderrFlagsAndAttributes
128
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStopMethodSkip
0
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStopMethodConsole
1500
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStopMethodWindow
1500
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStopMethodThreads
1500
PS C:\Program Files\nodejs> nssm get QEWD-UP AppThrottle
1500
PS C:\Program Files\nodejs> nssm get QEWD-UP AppRotateFiles
0
PS C:\Program Files\nodejs> nssm get QEWD-UP AppRotateOnline
0
PS C:\Program Files\nodejs> nssm get QEWD-UP AppRotateSeconds
0
PS C:\Program Files\nodejs> nssm get QEWD-UP AppRotateBytes
0
PS C:\Program Files\nodejs> nssm get QEWD-UP AppRotateBytesHigh
0
PS C:\Program Files\nodejs> nssm get QEWD-UP DependOnGroup

PS C:\Program Files\nodejs> nssm get QEWD-UP DependOnService
Cache_d-_cache_smile
PS C:\Program Files\nodejs> nssm get QEWD-UP Description
NodeJS QEWD-UP
PS C:\Program Files\nodejs> nssm get QEWD-UP DisplayName
QEWD-UP Service
PS C:\Program Files\nodejs> nssm get QEWD-UP ImagePath
C:\Program Files\nodejs\nssm.exe
PS C:\Program Files\nodejs> nssm get QEWD-UP ObjectName
LocalSystem
PS C:\Program Files\nodejs> nssm get QEWD-UP Name
QEWD-UP
PS C:\Program Files\nodejs> nssm get QEWD-UP Start
SERVICE_AUTO_START
PS C:\Program Files\nodejs> nssm get QEWD-UP Type
SERVICE_WIN32_OWN_PROCESS
Mike Arrh
  • 145
  • 9

1 Answers1

1

Make sure the Encoding of the files created are UTF-8. My existing file was set to "UCS-2 LE BOM" so it followed the same encoding and end up with non-english charectors.

However the new log file the service creates, contains proper UTF-8 encoding.

So either manually change the encoding or let the nssm create a fresh file for logging.