### ### function include file for wci-libs-bash ###

function log_error {

LOG_MESSAGE="$1"
set_var_THISPID
SCRIPT_NAME=${SCRIPT_NAME:-SCRIPT_NAME NOT SET}
LOG_TIMESTAMP=`date "+%F %H:%M:%S %z"`
echo "${LOG_TIMESTAMP} - ${THIS_PID} - ${SCRIPT_NAME} - ERROR: ${LOG_MESSAGE}" >&2

}

function log_error_line {

LOG_MESSAGE="$1"
echo "${LOG_MESSAGE}" >&2

}

function usage {

if [ ! -z "$1" ] ; then
  ERROR_MESSAGE="$1"
fi
ERROR_MESSAGE=${ERROR_MESSAGE:-ERROR_MESSAGE NOT SET}
SCRIPT_NAME=${SCRIPT_NAME:-SCRIPT_NAME NOT SET}
EXIT_STATUS="1"
SLEEP_DURATION="3"
log_error_line
log_error "##### ***** ERROR ***** ######"
log_error
log_error "Message: ${ERROR_MESSAGE}"
log_error
log_error "CMD: ${SCRIPT_NAME} ${THIS_ARGS}"
if [ ! -z "${USAGE_INFO}" ] ; then
  log_error
  log_error "Usage: ${SCRIPT_NAME} ${USAGE_INFO}"
fi
log_error
log_error "##### ***** ERROR ***** ######"
log_error "##### Sleeping for ${SLEEP_DURATION} seconds then exiting with status: ${EXIT_STATUS}"
log_error_line
sleep "${SLEEP_DURATION}"
exit "${EXIT_STATUS}"

}

function log_event {

if [ "${WCI_ENABLE_LOGGING}" == "TRUE" ] ; then
  LOG_MESSAGE="$1"
  set_var_THISPID
  SCRIPT_NAME=${SCRIPT_NAME:-SCRIPT_NAME NOT SET}
  LOG_TIMESTAMP=`date "+%F %H:%M:%S %z"`
  echo "${LOG_TIMESTAMP} - ${THIS_PID} - ${SCRIPT_NAME} - ${LOG_MESSAGE}"
fi

}

function log_line {

if [ "${WCI_ENABLE_LOGGING}" == "TRUE" ] ; then
  LOG_MESSAGE="$1"
  echo "${LOG_MESSAGE}"
fi

}

function log_pipe {

while read LINE ; do
  if [ "${WCI_ENABLE_LOGGING}" == "TRUE" ] ; then
    echo "${LINE}"
  fi
done < "/dev/stdin"

}

function set_var_THISPID {

if [ ! -z "$$" ] ; then
  THIS_PID="$$"
fi
THIS_PID=${THIS_PID:-THIS_PID NOT SET}

}