From 9b35504f9a471da8b1e6810b7d0f0992fcee2c0e Mon Sep 17 00:00:00 2001 From: Unitech Date: Mon, 1 Dec 2014 16:34:25 +0100 Subject: [PATCH] Set TIMESTAMP to PM2 log by default --- constants.js | 2 ++ examples/axm/throw.js | 4 ++++ lib/God.js | 4 ++-- lib/samples/sample-conf.js | 2 ++ test/bash/log-timestamp.sh | 3 ++- test/fixtures/ecosystem.json5 | 5 ++++- 6 files changed, 16 insertions(+), 4 deletions(-) diff --git a/constants.js b/constants.js index 19ae0238..30d1b43f 100644 --- a/constants.js +++ b/constants.js @@ -80,6 +80,8 @@ var default_conf = { WEB_INTERFACE : parseInt(process.env.PM2_API_PORT) || 9615, MODIFY_REQUIRE : process.env.PM2_MODIFY_REQUIRE || false, + PM2_LOG_DATE_FORMAT : process.env.PM2_LOG_DATE_FORMAT !== undefined ? process.env.PM2_LOG_DATE_FORMAT : 'YYYY-MM-DD HH:mm:ss Z', + INTERACTOR_LOG_FILE_PATH : p.join(PM2_ROOT_PATH, 'agent.log'), INTERACTOR_PID_PATH : p.join(PM2_ROOT_PATH, 'agent.pid'), INTERACTION_CONF : p.join(PM2_ROOT_PATH, 'agent.json5') diff --git a/examples/axm/throw.js b/examples/axm/throw.js index 53d0ed0b..ddc1246f 100644 --- a/examples/axm/throw.js +++ b/examples/axm/throw.js @@ -1,4 +1,8 @@ +var axm = require('axm'); + +axm.catchAll(); + setTimeout(function() { console.log('log message from echo auto kill'); throw new Error('Exitasdsadasdsda unacepted 222222 !!'); diff --git a/lib/God.js b/lib/God.js index f7c37647..c2306fbe 100644 --- a/lib/God.js +++ b/lib/God.js @@ -44,12 +44,12 @@ var God = module.exports = { * Hack Global Console Of PM2 */ (function hackConsole(){ - if(process.env.PM2_LOG_DATE_FORMAT && typeof process.env.PM2_LOG_DATE_FORMAT == 'string'){ + if (cst.PM2_LOG_DATE_FORMAT && typeof cst.PM2_LOG_DATE_FORMAT == 'string'){ var moment = require('moment'); // Generate timestamp prefix function timestamp(){ - return moment().format(process.env.log_date_format) + ': '; + return moment().format(cst.PM2_LOG_DATE_FORMAT) + ': '; } var hacks = ['info', 'log', 'error', 'warn'], consoled = {}; diff --git a/lib/samples/sample-conf.js b/lib/samples/sample-conf.js index 6d57e476..ecbc0051 100644 --- a/lib/samples/sample-conf.js +++ b/lib/samples/sample-conf.js @@ -32,6 +32,8 @@ module.exports = function(DEFAULT_HOME) { WEB_INTERFACE : parseInt(process.env.PM2_API_PORT) || 9615, MODIFY_REQUIRE : process.env.PM2_MODIFY_REQUIRE || false, + PM2_LOG_DATE_FORMAT : process.env.PM2_LOG_DATE_FORMAT || 'YYYY-MM-DD HH:mm Z', + INTERACTOR_LOG_FILE_PATH : p.join(PM2_HOME, 'agent.log'), INTERACTOR_PID_PATH : p.join(PM2_HOME, 'agent.pid'), INTERACTION_CONF : p.join(PM2_HOME, 'agent.json5') diff --git a/test/bash/log-timestamp.sh b/test/bash/log-timestamp.sh index 86a78f58..fcbcd201 100644 --- a/test/bash/log-timestamp.sh +++ b/test/bash/log-timestamp.sh @@ -28,6 +28,7 @@ function grep_log { function no_prefix { eval "grep_log \"$1\"" echo "line count: $OUT" + cat ~/.pm2/pm2.log [ $OUT -eq 0 ] || fail "expect no timestamp prefix in pm2.log, but currently existing." success "have no timestamp prefix" rm_pm2log "$2" @@ -51,7 +52,7 @@ then rm -rf ~/.pm2/pm2.log fi -unset PM2_LOG_DATE_FORMAT +export PM2_LOG_DATE_FORMAT="" head ">> LIST (NO PREFIX)" no_prefix "ls" 0 diff --git a/test/fixtures/ecosystem.json5 b/test/fixtures/ecosystem.json5 index d5882c42..18203150 100644 --- a/test/fixtures/ecosystem.json5 +++ b/test/fixtures/ecosystem.json5 @@ -52,7 +52,10 @@ ref : "origin/master", repo : "git@github.com:repo.git", path : "/var/www/development", - "post-deploy" : "pm2 startOrRestart ecosystem.json --env dev" + "post-deploy" : "pm2 startOrRestart ecosystem.json --env dev", + env : { + NODE_ENV: "dev" + } } } }