Node.js Kraken JS:mogran不推荐的未定义格式:指定格式

Node.js Kraken JS:mogran不推荐的未定义格式:指定格式,node.js,express,kraken.js,Node.js,Express,Kraken.js,2014年7月29日星期二21:52:17 GMT morgan不推荐的未定义格式:在node_modules\kraken js\node_modules\meddleware\index.js:98:20指定格式 2014年7月29日星期二21:52:17 GMT morgan不推荐默认格式:在node_modules\kraken js\node_modules\meddleware\index.js:98:20使用组合格式 在安装一个新的kraken js项目之后,这个错误会在启动一个应

2014年7月29日星期二21:52:17 GMT morgan不推荐的未定义格式:在node_modules\kraken js\node_modules\meddleware\index.js:98:20指定格式 2014年7月29日星期二21:52:17 GMT morgan不推荐默认格式:在node_modules\kraken js\node_modules\meddleware\index.js:98:20使用组合格式

在安装一个新的kraken js项目之后,这个错误会在启动一个应用程序时被记录两次。这并不会扼杀应用程序,但在没有做任何事情的情况下出现错误是相当恼人的

对此问题的搜索只显示了他们不推荐的空/默认格式的位置

该方法的实际调用是在第98行的node_modules\kraken js\node_modules\meddleware\index.js中完成的(显然),但我不确定参数应该是什么,而不是现在的参数


那么,有人遇到/修复过这个问题吗?

所以在kraken js/node_modules/meddleware/index.js的第97行,我更改了这一行:

args = thing.isArray(config['arguments']) ? config['arguments'] : [];
为此:

args = thing.isArray(config['arguments']) ? config['arguments'] : ['combined'];

它不再抛出错误。问题是我不认为这是正确的解决方案,但它似乎有效。应用程序显然正在监听端口,并按照我的预期进行响应。所以如果有人找到更好的解决方案,请告诉我。否则,这似乎是当前的答案。

更干净的解决方案是直接在应用程序中配置morgan。可以通过将以下块添加到中间件配置中来实现这一点:

"logger": {
  "module": {
    "name": "morgan",
    "arguments": [
      "dev"
    ]
  }
}
我在开发中使用“dev”格式,否则使用“combined”格式。或者,您可以添加一个选项对象作为arguments数组中的另一个元素,该数组将接受存储库自述文件中列出的任何选项