将应用程序作为Windows服务运行时的命令行输出

时间:2013-03-27 17:11:02

标签: node.js logging windows-services

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

node app.js

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

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

有没有办法获得该输出并将其放入日志文件(类似于IIS / Apache日志)?

由于

1 个答案:

答案 0 :(得分:3)

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');