Hapi good 如何在不使用控制台日志的情况下打印调试信息

Hapi good how to print debug message without using console log

我正在使用 hapi 和 good 模块 我想知道最好的方法是什么 打印我的调试消息而不使用 控制台日志。

比如现在是

server.register(
    {
            register: require('good'),
            options: options
    },
    function (err) {
        if (err) {
                    return console.error(err);
            }
            // If the module is required by another script, we don’t start the server (ie test suite)
            if (!module.parent) {
                server.start(function () {
                console.info('Server started at ' + server.info.uri);
                    });
        }

    }
);

https://github.com/visionmedia/debug好吗 喜欢

server.register(
    {
            register: require('good'),
            options: options
    },
    function (err) {
        if (err) {
                    return console.error(err);
            }
            // If the module is required by another script, we don’t start the server (ie test suite)
            if (!module.parent) {
                server.start(function () {
                    debug('Server started at ' + server.info.uri);
                });
        }

    }
);

或者有更好的选择?

Debug is pretty good. Or, if you want to stay inside the hapi ecosystem, you can use Good 管理您的日志记录需求:

var Hapi = require('hapi');

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

var options = {
    reporters: [{
        reporter: require('good-console'),    // Log everything to console
        events: { log: '*' }
    }, {
        reporter: require('good-file'),       // Log 'debug' to debug_log.log
        events: { log: 'debug' },
        config: 'debug_log.log'
    }, {
        reporter: require('good-file'),       // Log 'error' to error_log.log
        events: { log: 'error' },
        config: 'error_log.log'
    }]
};

server.register({
    register: require('good'),
    options: options
}, function (err) {

    if (err) {
        server.log(['error'], err);             // log an 'error' message
    }

    server.start(function (err) {

        if (err) {
            server.log(['error'], err);         // log an 'error' message
        }

        server.log(['debug'], 'Started...');    // log a 'debug' message
    });
});

除了登录到控制台之外,还有许多其他 "reporters" 可以让您登录到 HTTP、UDP 等:

https://github.com/hapijs/good#officially-supported-by-hapijs