【问题标题】:winston-elasticsearch: TypeError: Elasticsearch is not a constructorwinston-elasticsearch:TypeError:Elasticsearch 不是构造函数
【发布时间】:2020-05-27 01:14:59
【问题描述】:

我在快速服务器上使用 winston-elasticsearch,我只是编写了与文档中相同的代码

var winston = require('winston');
var Elasticsearch = require('winston-elasticsearch');

var esTransportOpts = {
  level: 'info'
};
var logger = winston.createLogger({
  transports: [
    new Elasticsearch(esTransportOpts)
  ]
});

当我运行服务器时,我得到这个错误:

TypeError: Elasticsearch 不是构造函数

我已经安装了最新版本 "winston": "^3.2.1" 和 "winston-elasticsearch": "^0.8.8"

【问题讨论】:

    标签: javascript express elasticsearch logging winston


    【解决方案1】:

    @asma 的建议,降级到 0.7.x,确实为我解决了这个错误。然而,这让我卡在了一个过时的版本上,得到了一个在最新版本中修复的不同错误。

    @joe 提到的问题现已关闭。它解释说,每个人都通过调整语法来适应重大变化。但是,自述文件仍然具有旧语法。

    通过如下调整示例,我能够获得最新版本 (0.8.8):

    var winston = require('winston');
    var winstonElasticSearch = require('winston-elasticsearch');
    
    var esTransportOpts = {
      level: 'info'
    };
    var logger = winston.createLogger({
      transports: [
        new winstonElasticSearch.ElasticsearchTransport(esTransportOpts)
      ]
    });
    

    【讨论】:

      【解决方案2】:

      对于 Winston 3.x、Elasticsearch 6.0 及更高版本,请使用 0.7.0。对于 Elasticsearch 6.0 及更高版本,请使用 0.6.0。对于 Elasticsearch 5.0 及更高版本,请使用 0.5.9。对于早期版本,请使用 0.4.x 系列。

      【讨论】:

        【解决方案3】:

        降级版本“winston-elasticsearch”:“0.7.0”修复了问题。

        如文档中所述:

        兼容性 对于 Winston 3.x、Elasticsearch 6.0 及更高版本,请使用 0.7.0。对于 Elasticsearch 6.0 及更高版本,请使用 0.6.0。对于 Elasticsearch 5.0 及更高版本,请使用 0.5.9。对于早期版本,请使用 0.4.x 系列。

        来源:https://www.npmjs.com/package/winston-elasticsearch

        【讨论】:

          【解决方案4】:

          有一个 open issue 就是关于这个的。

          同时,你可以npm i --save winston-elasticsearch@0.7.12

          【讨论】:

            猜你喜欢
            • 2019-06-16
            • 2018-12-07
            • 2013-12-25
            • 2021-01-11
            • 2015-12-04
            • 2018-11-29
            • 2016-12-04
            • 2020-12-27
            • 2021-04-05
            相关资源
            最近更新 更多