如果我尝试bunyan.createLogger我的应用程序没有启动并且没有显示错误

时间:2017-03-10 20:36:33

标签: node.js npm npm-install winston bunyan

如果我尝试使用winston模块,我就成功了。然而,如果我尝试使用bunyan,我的应用程序不会启动既不会显示任何错误(或者我不知道如何找到错误)。

我正在使用Visual Studio Code进行调试,但我认为它与此问题无关。

如果我只需要winston,我就不会有任何错误。添加" bunyan.createLogger({name:" myapp"})"如下所示。

我没有兴趣比较bunyan和winston。除非有与其他模块发生冲突的原因(我的意思是其他要求显示如下),我对使用bunyan感兴趣。我刚刚在这里提到了winston,因为我可以成功使用它,我注意到winston并不依赖于" .createLogger" (至少我读过的例子从未使用" .createLogger"对于winston而言,总是将它显示为bunyan)。

有些东西引起了我的注意,虽然我不知道它是否与这种情况有关我也不知道原因:我总是使用npm install来安装依赖项"依赖" -s因为我想跟踪package.json中项目中使用的所有模块。对我来说有点奇怪,我在安装npm后没有看到它(请参阅我的package.json下面的内容)。

var express = require('express');
var bodyParser = require('body-parser');
var Client = require('node-rest-client').Client;
var bunyan = require('bunyan');
//var winston = require('winston');

var logBunyan = bunyan.createLogger({name: "myapp"});

//winston.log('info', 'Hello distributed log files!');
//winston.info('Hello again distributed logs');

...

package.json(不应该是winston和bunyan出现在这里,因为两者都安装了" - save"?)

{
  "name": "myapp",
  "main": "server.js",
  "dependencies": {
    "body-parser": "^1.17.1",
    "express": "^4.15.2",
    "node-rest-client": "^3.0.3"
  }
}

2 个答案:

答案 0 :(得分:1)

添加到package.json依赖项中,例如:

"bunyan": "^1.8.8"

然后执行npm install然后运行您的应用。

示例app.js:

var bunyan = require('bunyan');
var log = bunyan.createLogger({name: "myapp"});
log.info("Hello!");

答案 1 :(得分:0)

问题既不是Bunyan也不是NodeJs。今天我和util.inspect有类似的问题。每当在Visual Studio Code中,我使用此代码到达一行时,我的服务器崩溃时没有任何有用的信息。我试图直接通过终端(节点server.js)运行,我看到util.inspect和bunyan.createLogger都按预期工作。我在这种情况下潜水(通过终端工作,但不起作用,抛出Visual Studio代码)突然我意识到Visual Studio代码中的TypeScript版本与我的Debian中安装的版本之间存在某些冲突。我不希望在更好的论据中解释,但它可能会帮助处于类似情况的人。我做了: 1 - 下载Visual Studio Code的可移植版本而不是使用npm。我注意到从1.8版到1.10的小升级 2 - 我更新了终端,npm,nodejs和typescript PS。:如果我多加注意,我应该很容易理解。每当我启动VS代码时,我得到“版本不匹配!全局tsc(1.7.5)!= VS代码的语言服务(2.2.1)。可能会出现不一致的编译错误”现在这样的消息就结束了。 这修复了错误。 希望它能帮助一些未来的读者。