[Hapi.js] Logging with good and good-console

hapi doesn't ship with logging support baked in. Luckily, hapi's rich plugin ecosystem includes everything needed to configure logging for your application. This post will introduce good, a process monitor for hapi, and good-console, a reporter for good that outputs to standard out.

Install: 

npm install --save good good-console
'use strict'
var Hapi = require( 'hapi' );

/**
 * set up server connection
 * @type {"hapi".Server}
 */
var server = new Hapi.Server();
server.connection( {
    host: 'localhost',
    port: 8000
} );

/**
 * log
 */
var goodOptions = ({
    reporters: [
        {
            reporter: require('good-console'),
            events: {log: ['error'], response: '*'} // only log out error event
          //  events: {log: '*', response: '*'} // log out any log event
        }
    ]
});

server.register({
    register: require('good'),
    options: goodOptions
}, function(err){
    /**
     * Routers
     */
    server.route( {
        method: 'GET',
        path: '/',
        handler: function ( request, reply ) {
            server.log('error', 'Error happened'); // log error to the terminal
            server.log('info', 'replying'); // log info to the terminal
            reply( 'hello hapi!' );
        }
    } );

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


/**
 * Start the server
 */
server.start( function (err) {
    if (err) {
        throw err;
    }
    console.log( 'Started at:', server.info.uri )
} );
 
原文地址:https://www.cnblogs.com/Answer1215/p/5223990.html