Optimize write_log function

This commit is contained in:
Dave Conroy
2023-11-05 08:54:43 -08:00
parent ca6b045d7d
commit 5d8a7f1720

View File

@@ -1750,70 +1750,71 @@ symlink_log () {
} }
write_log() { write_log() {
output_off
local CONTAINER_LOG_LEVEL_ORIGINAL=${CONTAINER_LOG_LEVEL} local CONTAINER_LOG_LEVEL_ORIGINAL=${CONTAINER_LOG_LEVEL}
local _arg_log_level=${1} local _arg_log_level=${1}
shift 1 shift 1
local _arg_log_message="$@" local _arg_log_message="$@"
if [ -n "${backup_job_db_type}" ] && [ -n "${backup_job_db_name}" ] && [ -n "${backup_job_db_host}" ] && [ -n "${ltarget}" ]; then
write_to_file=true
else
write_to_file=false
fi
case "${1}" in case "${1}" in
debug ) debug )
output_off
CONTAINER_LOG_LEVEL=DEBUG CONTAINER_LOG_LEVEL=DEBUG
case "${backup_job_log_level,,}" in case "${backup_job_log_level,,}" in
"debug" ) "debug" )
print_debug "${_arg_log_message}" print_debug "${_arg_log_message}"
if [ -n "${backup_job_db_type}" ] && [ -n "${backup_job_db_name}" ] && [ -n "${backup_job_db_host}" ] && [ -n "${ltarget}" ]; then if var_true "${write_to_file}" ; then
echo "$(date +'%Y-%m-%d %H:%M:%S %Z') [debug] $@" | run_as_user tee -a "${LOG_PATH}/$(date +'%Y%m%d')/$(date -d @${backup_job_start_time} +'%Y%m%d_%H%M%S')-${ltarget}.log" > /dev/null echo "$(date +'%Y-%m-%d %H:%M:%S %Z') [debug] ${_arg_log_message}" | run_as_user tee -a "${LOG_PATH}/$(date +'%Y%m%d')/$(date -d @${backup_job_start_time} +'%Y%m%d_%H%M%S')-${ltarget}.log" > /dev/null
fi fi
;; ;;
esac esac
CONTAINER_LOG_LEVEL=${CONTAINER_LOG_LEVEL_ORIGINAL} CONTAINER_LOG_LEVEL=${CONTAINER_LOG_LEVEL_ORIGINAL}
output_on
;; ;;
error ) error )
output_off
CONTAINER_LOG_LEVEL=ERROR CONTAINER_LOG_LEVEL=ERROR
case "${backup_job_log_level,,}" in case "${backup_job_log_level,,}" in
"debug" | "notice" | "warn" | "error") "debug" | "notice" | "warn" | "error")
print_error "${_arg_log_message}" print_error "${_arg_log_message}"
if [ -n "${backup_job_db_type}" ] && [ -n "${backup_job_db_name}" ] && [ -n "${backup_job_db_host}" ] && [ -n "${ltarget}" ]; then if var_true "${write_to_file}" ; then
echo "$(date +'%Y-%m-%d %H:%M:%S %Z') [error] $@" | run_as_user tee -a "${LOG_PATH}/$(date +'%Y%m%d')/$(date -d @${backup_job_start_time} +'%Y%m%d_%H%M%S')-${ltarget}.log" > /dev/null echo "$(date +'%Y-%m-%d %H:%M:%S %Z') [error] ${_arg_log_message}" | run_as_user tee -a "${LOG_PATH}/$(date +'%Y%m%d')/$(date -d @${backup_job_start_time} +'%Y%m%d_%H%M%S')-${ltarget}.log" > /dev/null
fi fi
output_on
;; ;;
esac esac
;; ;;
info ) info )
output_off
CONTAINER_LOG_LEVEL=INFO CONTAINER_LOG_LEVEL=INFO
print_info "${_arg_log_message}" print_info "${_arg_log_message}"
if [ -n "${backup_job_db_type}" ] && [ -n "${backup_job_db_name}" ] && [ -n "${backup_job_db_host}" ] && [ -n "${ltarget}" ]; then if var_true "${write_to_file}" ; then
echo "$(date +'%Y-%m-%d %H:%M:%S %Z') [info] $@" | run_as_user tee -a "${LOG_PATH}/$(date +'%Y%m%d')/$(date -d @${backup_job_start_time} +'%Y%m%d_%H%M%S')-${ltarget}.log" > /dev/null echo "$(date +'%Y-%m-%d %H:%M:%S %Z') [info] ${_arg_log_message}" | run_as_user tee -a "${LOG_PATH}/$(date +'%Y%m%d')/$(date -d @${backup_job_start_time} +'%Y%m%d_%H%M%S')-${ltarget}.log" > /dev/null
fi fi
;; ;;
notice ) notice )
output_off
CONTAINER_LOG_LEVEL=NOTICE CONTAINER_LOG_LEVEL=NOTICE
case "${backup_job_log_level,,}" in case "${backup_job_log_level,,}" in
"debug" | "notice" ) "debug" | "notice" )
print_notice "${_arg_log_message}" print_notice "${_arg_log_message}"
if [ -n "${backup_job_db_type}" ] && [ -n "${backup_job_db_name}" ] && [ -n "${backup_job_db_host}" ] && [ -n "${ltarget}" ]; then if var_true "${write_to_file}" ; then
echo "$(date +'%Y-%m-%d %H:%M:%S %Z') [notice] $@" | run_as_user tee -a "${LOG_PATH}/$(date +'%Y%m%d')/$(date -d @${backup_job_start_time} +'%Y%m%d_%H%M%S')-${ltarget}.log" > /dev/null echo "$(date +'%Y-%m-%d %H:%M:%S %Z') [notice] ${_arg_log_message}" | run_as_user tee -a "${LOG_PATH}/$(date +'%Y%m%d')/$(date -d @${backup_job_start_time} +'%Y%m%d_%H%M%S')-${ltarget}.log" > /dev/null
fi fi
;; ;;
esac esac
;; ;;
warn ) warn )
output_off
CONTAINER_LOG_LEVEL=WARN CONTAINER_LOG_LEVEL=WARN
case "${backup_job_log_level,,}" in case "${backup_job_log_level,,}" in
"debug" | "notice" | "warn" ) "debug" | "notice" | "warn" )
print_warn "${_arg_log_message}" print_warn "${_arg_log_message}"
if [ -n "${backup_job_db_type}" ] && [ -n "${backup_job_db_name}" ] && [ -n "${backup_job_db_host}" ] && [ -n "${ltarget}" ]; then if var_true "${write_to_file}" ; then
echo "$(date +'%Y-%m-%d %H:%M:%S %Z') [warn] $@" | run_as_user tee -a "${LOG_PATH}/$(date +'%Y%m%d')/$(date -d @${backup_job_start_time} +'%Y%m%d_%H%M%S')-${ltarget}.log" > /dev/null echo "$(date +'%Y-%m-%d %H:%M:%S %Z') [warn] ${_arg_log_message}" | run_as_user tee -a "${LOG_PATH}/$(date +'%Y%m%d')/$(date -d @${backup_job_start_time} +'%Y%m%d_%H%M%S')-${ltarget}.log" > /dev/null
fi fi
;; ;;
esac esac
;; ;;
esac esac
output_on
} }