Hapi很好地如何在不使用控制台日志的情况下打印调试消息

时间:2015-07-23 10:21:01

标签: node.js hapijs

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

例如现在是

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);
                });
        }

    }
);

还是有更好的选择?

1 个答案:

答案 0 :(得分:5)

Debug非常好。或者,如果您想留在hapi生态系统中,可以使用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
    });
});

除了登录控制台之外还有其他一些记者"让你登录到HTTP,UDP等:

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