@ -9,7 +9,9 @@
* environments : [ development , test , production ]
*
* /
var _ = require ( 'underscore' ) ;
var _ = require ( 'underscore' ) ,
fs = require ( 'fs' ) ,
path = require ( 'path' ) ;
if ( process . argv [ 2 ] ) ENV = process . argv [ 2 ] ;
else if ( process . env [ 'NODE_ENV' ] ) ENV = process . env [ 'NODE_ENV' ] ;
@ -31,12 +33,28 @@ _.extend(global.settings, env);
global . log4js = require ( 'log4js' )
log4js _config = {
appenders : [
{ type : "console" , layout : { type : 'basic' } }
] ,
appenders : [ ] ,
replaceConsole : true
} ;
if ( env . log _filename ) {
var logdir = path . dirname ( env . log _filename ) ;
// See cwd inlog4js.configure call below
logdir = path . resolve ( _ _dirname , logdir ) ;
if ( ! fs . existsSync ( logdir ) ) {
console . error ( "Log filename directory does not exist: " + logdir ) ;
process . exit ( 1 ) ;
}
console . log ( "Logs will be written to " + env . log _filename ) ;
log4js _config . appenders . push (
{ type : "file" , filename : env . log _filename }
) ;
} else {
log4js _config . appenders . push (
{ type : "console" , layout : { type : 'basic' } }
) ;
}
if ( global . settings . rollbar ) {
log4js _config . appenders . push ( {
type : _ _dirname + "/app/models/log4js_rollbar.js" ,
@ -44,7 +62,7 @@ if ( global.settings.rollbar ) {
} ) ;
}
log4js . configure ( log4js _config );
log4js . configure ( log4js _config , { cwd : _ _dirname } );
global . logger = log4js . getLogger ( ) ;
@ -64,3 +82,8 @@ app.listen(global.settings.node_port, global.settings.node_host, function() {
process . on ( 'uncaughtException' , function ( err ) {
logger . error ( 'Uncaught exception: ' + err . stack ) ;
} ) ;
process . on ( 'SIGHUP' , function ( ) {
log4js . configure ( log4js _config ) ;
console . log ( 'Log files reloaded' ) ;
} ) ;