123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- /*!
- * Cluster - debug
- * Copyright (c) 2011 LearnBoost <dev@learnboost.com>
- * MIT Licensed
- */
- /**
- * Enable verbose debugging output.
- *
- * @return {Function}
- * @api public
- */
- module.exports = function(options){
- options = options || {};
- // strip colors
- function color(text) {
- if (options.colors === false) return text.replace(/\033\[\d+m/g, '');
- return text
- }
- // logger
- var log = {
- debug: function(str){
- console.error(color(' \033[90mdebug - %s\033[0m'), str);
- },
- info: function(str){
- console.error(color(' info \033[90m- %s\033[0m'), str);
- },
- warning: function(str){
- console.error(color(' \033[33mwarning\033[0m \033[90m- %s\033[0m'), str);
- },
- error: function(str){
- console.error(color(' \033[31merror\033[0m \033[90m- %s\033[0m'), str);
- }
- };
- return function(master){
- // start
- master.on('start', function(){
- log.info('master started');
- });
- // closing
- master.on('closing', function(){
- log.info('shutting down');
- });
- // close
- master.on('close', function(){
- log.info('shutdown complete');
- });
- // killing workers
- master.on('kill', function(sig){
- log.warning('kill(' + (sig || 'SIGTERM') + ')');
- });
- // worker died
- master.on('worker killed', function(worker){
- if ('restarting' == master.state) return;
- log.warning('worker ' + worker.id + ' died');
- });
- // worker exception
- master.on('worker exception', function(worker, err){
- log.error('worker ' + worker.id + ' uncaught exception ' + err.message);
- });
- // worker is waiting on connections to be closed
- master.on('worker waiting', function(worker, connections){
- log.warning('worker ' + worker.id + ' waiting on ' + connections + ' connections');
- });
- // worker has timed out
- master.on('worker timeout', function(worker, timeout){
- log.warning('worker ' + worker.id + ' timed out after ' + timeout + 'ms');
- });
- // connection
- master.on('worker connected', function(worker){
- log.info('worker ' + worker.id + ' connected');
- });
-
- // removed
- master.on('worker removed', function(worker){
- log.info('worker ' + worker.id + ' removed');
- });
- // worker
- master.on('worker', function(worker){
- log.info('worker ' + worker.id + ' spawned');
- });
- // listening
- master.on('listening', function(){
- log.info('listening for connections');
- });
- // cyclic or immediate restart
- master.on('cyclic restart', function(){
- log.warning('cyclic restart detected, restarting in ' + master.options['restart timeout'] + 'ms');
- });
- // restart requested
- master.on('restarting', function(){
- log.info('restart requested');
- });
- // restart complete
- master.on('restart', function(){
- log.info('restart complete');
- });
- // exit
- process.on('exit', function(){
- log.debug('exit');
- });
- }
- };
|