@@ -319,8 +319,8 @@ function err {
319319 set +o xtrace
320320 local msg=" [ERROR] ${BASH_SOURCE[2]} :$1 $2 "
321321 echo $msg 1>&2 ;
322- if [[ -n ${SCREEN_LOGDIR } ]]; then
323- echo $msg >> " ${SCREEN_LOGDIR } /error.log"
322+ if [[ -n ${LOGDIR } ]]; then
323+ echo $msg >> " ${LOGDIR } /error.log"
324324 fi
325325 $xtrace
326326 return $exitcode
@@ -372,8 +372,8 @@ function warn {
372372 set +o xtrace
373373 local msg=" [WARNING] ${BASH_SOURCE[2]} :$1 $2 "
374374 echo $msg 1>&2 ;
375- if [[ -n ${SCREEN_LOGDIR } ]]; then
376- echo $msg >> " ${SCREEN_LOGDIR } /error.log"
375+ if [[ -n ${LOGDIR } ]]; then
376+ echo $msg >> " ${LOGDIR } /error.log"
377377 fi
378378 $xtrace
379379 return $exitcode
@@ -1261,8 +1261,8 @@ function zypper_install {
12611261# _run_process() is designed to be backgrounded by run_process() to simulate a
12621262# fork. It includes the dirty work of closing extra filehandles and preparing log
12631263# files to produce the same logs as screen_it(). The log filename is derived
1264- # from the service name and global-and-now-misnamed ``SCREEN_LOGDIR``
1265- # Uses globals ``CURRENT_LOG_TIME``, ``SCREEN_LOGDIR``, ``SCREEN_NAME``, ``SERVICE_DIR``
1264+ # from the service name.
1265+ # Uses globals ``CURRENT_LOG_TIME``, ``LOGDIR``, `` SCREEN_LOGDIR``, ``SCREEN_NAME``, ``SERVICE_DIR``
12661266# If an optional group is provided sg will be used to set the group of
12671267# the command.
12681268# _run_process service "command-line" [group]
@@ -1277,9 +1277,14 @@ function _run_process {
12771277 exec 3>& -
12781278 exec 6>& -
12791279
1280- if [[ -n ${SCREEN_LOGDIR} ]]; then
1281- exec 1>& ${SCREEN_LOGDIR} /screen-${service} .log.${CURRENT_LOG_TIME} 2>&1
1282- ln -sf ${SCREEN_LOGDIR} /screen-${service} .log.${CURRENT_LOG_TIME} ${SCREEN_LOGDIR} /screen-${service} .log
1280+ local real_logfile=" ${LOGDIR} /${service} .log.${CURRENT_LOG_TIME} "
1281+ if [[ -n ${LOGDIR} ]]; then
1282+ exec 1>& " $real_logfile " 2>&1
1283+ ln -sf " $real_logfile " ${LOGDIR} /${service} .log
1284+ if [[ -n ${SCREEN_LOGDIR} ]]; then
1285+ # Drop the backward-compat symlink
1286+ ln -sf " $real_logfile " ${SCREEN_LOGDIR} /screen-${service} .log
1287+ fi
12831288
12841289 # TODO(dtroyer): Hack to get stdout from the Python interpreter for the logs.
12851290 export PYTHONUNBUFFERED=1
@@ -1343,7 +1348,7 @@ function run_process {
13431348}
13441349
13451350# Helper to launch a process in a named screen
1346- # Uses globals ``CURRENT_LOG_TIME``, ``SCREEN_NAME`` , ``SCREEN_LOGDIR``,
1351+ # Uses globals ``CURRENT_LOG_TIME``, ```LOGDIR`` , ``SCREEN_LOGDIR``, `SCREEN_NAME ``,
13471352# ``SERVICE_DIR``, ``USE_SCREEN``
13481353# screen_process name "command-line" [group]
13491354# Run a command in a shell in a screen window, if an optional group
@@ -1362,10 +1367,18 @@ function screen_process {
13621367
13631368 screen -S $SCREEN_NAME -X screen -t $name
13641369
1365- if [[ -n ${SCREEN_LOGDIR} ]]; then
1366- screen -S $SCREEN_NAME -p $name -X logfile ${SCREEN_LOGDIR} /screen-${name} .log.${CURRENT_LOG_TIME}
1370+ local real_logfile=" ${LOGDIR} /${name} .log.${CURRENT_LOG_TIME} "
1371+ echo " LOGDIR: $LOGDIR "
1372+ echo " SCREEN_LOGDIR: $SCREEN_LOGDIR "
1373+ echo " log: $real_logfile "
1374+ if [[ -n ${LOGDIR} ]]; then
1375+ screen -S $SCREEN_NAME -p $name -X logfile " $real_logfile "
13671376 screen -S $SCREEN_NAME -p $name -X log on
1368- ln -sf ${SCREEN_LOGDIR} /screen-${name} .log.${CURRENT_LOG_TIME} ${SCREEN_LOGDIR} /screen-${name} .log
1377+ ln -sf " $real_logfile " ${LOGDIR} /${name} .log
1378+ if [[ -n ${SCREEN_LOGDIR} ]]; then
1379+ # Drop the backward-compat symlink
1380+ ln -sf " $real_logfile " ${SCREEN_LOGDIR} /screen-${1} .log
1381+ fi
13691382 fi
13701383
13711384 # sleep to allow bash to be ready to be send the command - we are
@@ -1410,8 +1423,8 @@ function screen_rc {
14101423 echo " screen -t $1 bash" >> $SCREENRC
14111424 echo " stuff \" $2 $NL \" " >> $SCREENRC
14121425
1413- if [[ -n ${SCREEN_LOGDIR } ]]; then
1414- echo " logfile ${SCREEN_LOGDIR} /screen- ${1} .log.${CURRENT_LOG_TIME} " >> $SCREENRC
1426+ if [[ -n ${LOGDIR } ]]; then
1427+ echo " logfile ${LOGDIR} / ${1} .log.${CURRENT_LOG_TIME} " >> $SCREENRC
14151428 echo " log on" >> $SCREENRC
14161429 fi
14171430 fi
0 commit comments