在Windows 2008 R2环境中,我有一个socket.io聊天应用程序,该应用程序当前是从命令行启动的:
node app.js
这会在屏幕上输出有关应用程序状态的不同信息,我当然可以在命令行窗口中看到这些信息。
我想将节点应用程序作为Windows服务运行,我发现NSSM将帮助我做到这一点,这很棒。但我也希望能够在需要时查看输出。
有什么方法可以获取该输出并将其放入日志文件(类似于IIS / Apache日志)?
谢谢
最佳答案
https://github.com/nomiddlename/log4js-node允许您以多种输出类型保存日志,文件就是其中一种。
可以使用它替换您选择的新输出中的控制台输出。
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');