代码之家  ›  专栏  ›  技术社区  ›  Whisher

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

  •  1
  • Whisher  · 技术社区  · 10 年前

    我正在使用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);
                    });
            }
    
        }
    );
    

    还是有更好的选择?

    1 回复  |  直到 10 年前
        1
  •  5
  •   Matt Harrison    10 年前

    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