Hapijs开始使用良好的控制台错误记者必须指定要过滤的事件

时间:2015-04-08 08:05:38

标签: node.js hapijs

我刚刚开始学习Hapijs 以下入门教程 用这个例子:

var Hapi = require('hapi');
var Good = require('good');

var server = new Hapi.Server();
server.connection({ port: 3000 });

server.route({
    method: 'GET',
    path: '/',
    handler: function (request, reply) {
        reply('Hello, world!');
    }
});

server.route({
    method: 'GET',
    path: '/{name}',
    handler: function (request, reply) {
        reply('Hello, ' + encodeURIComponent(request.params.name) + '!');
    }
});

server.register({
    register: Good,
    options: {
        reporters: [{
            reporter: require('good-console'),
            args:[{ log: '*', response: '*' }]
        }]
    }
}, function (err) {
    if (err) {
        throw err; // something bad happened loading the plugin
    }

    server.start(function () {
        server.log('info', 'Server running at: ' + server.info.uri);
    });
});

当我跑

node server

我有

/home/user/hapi/node_modules/good/node_modules/hoek/lib/index.js:683
    throw new Error(msgs.join(' ') || 'Unknown error');
          ^
Error: reporter must specify events to filter on

请帮帮我吗?

1 个答案:

答案 0 :(得分:10)

文档已过时。良好的6.0.0中有一些breaking changes。模块good-console有一个新版本,但它尚未在npm上发布。您可以通过在package.json中指定GitHub存储库来使用master分支:

"good-console": "hapijs/good-console"

您还需要将配置更改为:

options: {
    reporters: [{
        reporter: require('good-console'),
        events: {
            response: '*',
            log: '*'
        }
    }]
}

编辑:好的控制台版本5.0.0已经发布。文档也已更新。