以Windows服务运行应用程序时的命令行输出

在Windows 2008 R2环境中,我有一个socket.io聊天应用程序,我现在从命令行开始:

node app.js 

这会在屏幕上输出有关应用程序状态的不同信息,我当然可以在命令行窗口中看到这些信息。

我想运行节点应用程序作为Windows服务,我发现NSSM将帮助我做到这一点,这是伟大的。 但是我希望能够在需要的时候查看输出。

有什么办法来获得输出,并把它放在一个日志文件(类似于IIS / Apache日志)?

谢谢

https://github.com/nomiddlename/log4js-node允许您将日志保存为多种输出types,文件就是其中之一。

可以使用它来replace您所select的新输出中的控制台输出。

 var log4js = require('log4js'); log4js.loadAppender('file'); log4js.addAppender(log4js.appenders.file('output.log')); // the important part ;) log4js.replaceConsole() // var logger = log4js.getLogger(); logger.debug("Debug message"); console.log('debug from the console');