我最近开始使用Openshift,到目前为止它一直很棒。我目前的问题在于我的调试日志没有在Openshift的日志中显示。我以前用DEBUG=*,-express:* node ./bin/www
在本地运行应用程序,它显示了我需要的一切。到目前为止,我还没有想到如何将其转换为package.json
文件,以便它按预期工作。
package.json
{
"name": "APP",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "DEBUG=*,-express:* node ./bin/www"
},
"main": "./bin/www",
"dependencies": { ... }
在我看来,它正在使用node
数据运行main
命令,而不是我更喜欢的脚本。我相信调试模块是我代码上发送console.log()
垃圾邮件的绝佳选择。
在OpenShift日志文件中,它在启动应用程序时显示以下内容。这是我的理解,我希望找到--exec和更改。
DEBUG: Running node-supervisor with
DEBUG: program './bin/www'
DEBUG: --watch '/var/lib/openshift/<app_ID>/app-root/data/.nodewatch'
DEBUG: --ignore 'undefined'
DEBUG: --extensions 'node|js|coffee'
DEBUG: --exec 'node'
DEBUG: Starting child process with 'node ./bin/www'
答案 0 :(得分:0)
如果查看文档here 并搜索&#34;标记&#34;,你会发现这个:
use_npm:
使用 npm start 初始化您的应用程序或服务 而不是 supervisor servername.js (其中servername.js基于 关于package.json的主要属性的值。
我仍然认为使用主管更好。但您可以通过
修改代码中的debug值process.env.DEBUG='*,-express:*';
首次使用require之前(&#34; debug&#34;),至少作为临时解决方案。
HTH