diff --git a/sh/log/log.sh b/sh/log/log.sh index eddf92c..3921b8a 100644 --- a/sh/log/log.sh +++ b/sh/log/log.sh @@ -17,67 +17,11 @@ RWX_LOG_LEVEL_TRACE=5 # │ log │ variables │ # ╰─────┴───────────╯ -RWX_LOG_LEVEL=${RWX_LOG_LEVEL_INFO} +rwx_log_level=${RWX_LOG_LEVEL_INFO} -# ╭─────┬─────╮ -# │ log │ log │ -# ╰─────┴─────╯ - -rwx_log() { rwx_log_info "${@}"; } - -rwx_log_debug() { - if [ "${RWX_LOG_LEVEL}" -ge "${RWX_LOG_LEVEL_DEBUG}" ]; then - _rwx_log "[DEBUG]" "${@}" - fi -} - -rwx_log_error() { - local code="${1}" - shift - [ -n "${code}" ] || rwx_log_fatal 1 "No error code" - if [ "${RWX_LOG_LEVEL}" -ge "${RWX_LOG_LEVEL_ERROR}" ]; then - _rwx_log "[ERROR]" "${@}" >&2 - return "${code}" - fi -} - -rwx_log_fatal() { - local code="${1}" - shift - [ -n "${code}" ] || rwx_log_fatal 1 "No error code" - if [ "${RWX_LOG_LEVEL}" -ge "${RWX_LOG_LEVEL_FATAL}" ]; then - _rwx_log "[FATAL]" "${@}" >&2 - exit "${code}" - fi -} - -rwx_log_info() { - if [ "${RWX_LOG_LEVEL}" -ge "${RWX_LOG_LEVEL_INFO}" ]; then - _rwx_log "" "${@}" - fi -} - -rwx_log_trace() { - if [ "${RWX_LOG_LEVEL}" -ge "${RWX_LOG_LEVEL_TRACE}" ]; then - _rwx_log "[TRACE]" "${@}" - fi -} - -rwx_log_warn() { - if [ "${RWX_LOG_LEVEL}" -ge "${RWX_LOG_LEVEL_WARN}" ]; then - _rwx_log "[ WARN]" "${@}" - fi -} - -# TODO simplify - -_rwx_main_log() { - [ ${#} -gt 0 ] || set -- "" - local line - for line in "${@}"; do - echo "${line}" - done -} +# ╭─────┬───────────╮ +# │ log │ functions │ +# ╰─────┴───────────╯ _rwx_log() { local prefix="${1}" @@ -85,10 +29,53 @@ _rwx_log() { [ ${#} -gt 0 ] || set -- "" local line for line in "${@}"; do - if [ -n "${prefix}" ]; then - _rwx_main_log "${prefix} ${line}" - else - _rwx_main_log "${line}" - fi + [ -n "${prefix}" ] && + printf "%s" "[${prefix}] " + echo "${line}" done } + +rwx_log_fatal() { + local code="${1}" + shift + [ -n "${code}" ] || rwx_log_fatal 1 "No error code" + if [ "${rwx_log_level}" -ge "${RWX_LOG_LEVEL_FATAL}" ]; then + _rwx_log "FATAL" "${@}" >&2 + exit "${code}" + fi +} + +rwx_log_error() { + local code="${1}" + shift + [ -n "${code}" ] || rwx_log_fatal 1 "No error code" + if [ "${rwx_log_level}" -ge "${RWX_LOG_LEVEL_ERROR}" ]; then + _rwx_log "ERROR" "${@}" >&2 + return "${code}" + fi +} + +rwx_log_warn() { + if [ "${rwx_log_level}" -ge "${RWX_LOG_LEVEL_WARN}" ]; then + _rwx_log " WARN" "${@}" + fi +} + +#= rwx_log +rwx_log_info() { + if [ "${rwx_log_level}" -ge "${RWX_LOG_LEVEL_INFO}" ]; then + _rwx_log "" "${@}" + fi +} + +rwx_log_debug() { + if [ "${rwx_log_level}" -ge "${RWX_LOG_LEVEL_DEBUG}" ]; then + _rwx_log "DEBUG" "${@}" + fi +} + +rwx_log_trace() { + if [ "${rwx_log_level}" -ge "${RWX_LOG_LEVEL_TRACE}" ]; then + _rwx_log "TRACE" "${@}" + fi +} diff --git a/sh/main.sh b/sh/main.sh index d6cc20c..2039ba5 100755 --- a/sh/main.sh +++ b/sh/main.sh @@ -2,33 +2,32 @@ # ╭──────╮ # │ main │ # ╰──────╯ -# main module # ╭──────┬───────────╮ # │ main │ constants │ # ╰──────┴───────────╯ -# parent directory for the project +# project parent directory RWX_MAIN_PARENT="/usr/local/lib" -# name of the project itself +# project name RWX_MAIN_NAME="rwx" -# name of the entrypoint module +# project entrypoint module RWX_MAIN_MODULE="main" -# extension of shell modules +# shell modules extension RWX_MAIN_EXTENSION="sh" # ╭──────┬───────────╮ # │ main │ variables │ # ╰──────┴───────────╯ -# system root directory of the project +# project main root directory rwx_main_root="${RWX_MAIN_PARENT}/${RWX_MAIN_NAME}" # ╭──────┬──────╮ # │ main │ find │ # ╰──────┴──────╯ -# find directory’s shell files +# find root directory shell modules #| find #| sed #| sort @@ -47,13 +46,16 @@ rwx_main_find() { # │ main │ main │ # ╰──────┴──────╯ -# run initial steps +# run required initial steps #< core/code rwx_main_main() { - local module modules - # find & source modules + local module + local modules + # find main modules modules="$(rwx_main_find "${rwx_main_root}")" + # source main modules while IFS= read -r module; do + # except currently running main module if [ "${module}" != "${RWX_MAIN_MODULE}" ]; then # shellcheck disable=SC1090 . "${rwx_main_root}/${module}.${RWX_MAIN_EXTENSION}" @@ -61,7 +63,7 @@ rwx_main_main() { done <