我运行了一个nodejs服务器,每x秒使用setInterval
函数轮询一次数据。该应用程序的这一点看起来像这样:
startPolling () {
debug('Snmp poller started');
timers.setInterval(
this.poll(),
config.get('Snmp.interval')
);
}
poll () {
return () => {
if (dbConnection.get()) {
debug('Polling data');
this.fetchSiteNodes(this.site);
}
};
}
接下来在我的pacakge.json
文件中,我使用这个冗长的命令运行服务器:
NODE_PATH = $ NODE_PATH:./ NODE_ENV =开发 永远-p logs -a -l forever.log -o logs / output.log -e logs / error.log -d start ./bin/www
我会在这里分解:
logs
目录的路径forever.log
文件现在从上面的代码片段和forever命令我希望logs/output.log
文件包含脚本中的所有console.logs(...)
输出,所以它将包含这样的内容:
Snmp poller started
polling data +10
// after 10 secons
polling data +10
不幸的是,这不是正在发生的事情,基本上所有日志文件都保持为空。
如何让子进程将console.logs
写入永久进程的output.log
文件?
谢谢!
答案 0 :(得分:0)
回答我自己的问题。
我错过了我使用debug library的事实,并且我没有在npm命令中包含调试级别,在添加DEBUG=server,app,database
后它开始按预期工作。最后我还可以添加DEBUG=*
,但输出结果是压倒性的,包含所有mongodb查询等。