Compare commits
8 commits
449958091b
...
7a8915682d
Author | SHA1 | Date | |
---|---|---|---|
7a8915682d | |||
289ee65a98 | |||
a09a9f2a03 | |||
ef4879efd7 | |||
9a2603c6de | |||
aced0a1fb3 | |||
dd077b89f3 | |||
54ab72488f |
2 changed files with 65 additions and 76 deletions
117
sh/log/log.sh
117
sh/log/log.sh
|
@ -17,67 +17,11 @@ RWX_LOG_LEVEL_TRACE=5
|
||||||
# │ log │ variables │
|
# │ log │ variables │
|
||||||
# ╰─────┴───────────╯
|
# ╰─────┴───────────╯
|
||||||
|
|
||||||
RWX_LOG_LEVEL=${RWX_LOG_LEVEL_INFO}
|
rwx_log_level=${RWX_LOG_LEVEL_INFO}
|
||||||
|
|
||||||
# ╭─────┬─────╮
|
# ╭─────┬───────────╮
|
||||||
# │ log │ log │
|
# │ log │ functions │
|
||||||
# ╰─────┴─────╯
|
# ╰─────┴───────────╯
|
||||||
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
_rwx_log() {
|
_rwx_log() {
|
||||||
local prefix="${1}"
|
local prefix="${1}"
|
||||||
|
@ -85,10 +29,53 @@ _rwx_log() {
|
||||||
[ ${#} -gt 0 ] || set -- ""
|
[ ${#} -gt 0 ] || set -- ""
|
||||||
local line
|
local line
|
||||||
for line in "${@}"; do
|
for line in "${@}"; do
|
||||||
if [ -n "${prefix}" ]; then
|
[ -n "${prefix}" ] &&
|
||||||
_rwx_main_log "${prefix} ${line}"
|
printf "%s" "[${prefix}] "
|
||||||
else
|
echo "${line}"
|
||||||
_rwx_main_log "${line}"
|
|
||||||
fi
|
|
||||||
done
|
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
|
||||||
|
}
|
||||||
|
|
24
sh/main.sh
24
sh/main.sh
|
@ -2,33 +2,32 @@
|
||||||
# ╭──────╮
|
# ╭──────╮
|
||||||
# │ main │
|
# │ main │
|
||||||
# ╰──────╯
|
# ╰──────╯
|
||||||
# main module
|
|
||||||
|
|
||||||
# ╭──────┬───────────╮
|
# ╭──────┬───────────╮
|
||||||
# │ main │ constants │
|
# │ main │ constants │
|
||||||
# ╰──────┴───────────╯
|
# ╰──────┴───────────╯
|
||||||
|
|
||||||
# parent directory for the project
|
# project parent directory
|
||||||
RWX_MAIN_PARENT="/usr/local/lib"
|
RWX_MAIN_PARENT="/usr/local/lib"
|
||||||
# name of the project itself
|
# project name
|
||||||
RWX_MAIN_NAME="rwx"
|
RWX_MAIN_NAME="rwx"
|
||||||
# name of the entrypoint module
|
# project entrypoint module
|
||||||
RWX_MAIN_MODULE="main"
|
RWX_MAIN_MODULE="main"
|
||||||
# extension of shell modules
|
# shell modules extension
|
||||||
RWX_MAIN_EXTENSION="sh"
|
RWX_MAIN_EXTENSION="sh"
|
||||||
|
|
||||||
# ╭──────┬───────────╮
|
# ╭──────┬───────────╮
|
||||||
# │ main │ variables │
|
# │ main │ variables │
|
||||||
# ╰──────┴───────────╯
|
# ╰──────┴───────────╯
|
||||||
|
|
||||||
# system root directory of the project
|
# project main root directory
|
||||||
rwx_main_root="${RWX_MAIN_PARENT}/${RWX_MAIN_NAME}"
|
rwx_main_root="${RWX_MAIN_PARENT}/${RWX_MAIN_NAME}"
|
||||||
|
|
||||||
# ╭──────┬──────╮
|
# ╭──────┬──────╮
|
||||||
# │ main │ find │
|
# │ main │ find │
|
||||||
# ╰──────┴──────╯
|
# ╰──────┴──────╯
|
||||||
|
|
||||||
# find directory’s shell files
|
# find root directory shell modules
|
||||||
#| find
|
#| find
|
||||||
#| sed
|
#| sed
|
||||||
#| sort
|
#| sort
|
||||||
|
@ -47,13 +46,16 @@ rwx_main_find() {
|
||||||
# │ main │ main │
|
# │ main │ main │
|
||||||
# ╰──────┴──────╯
|
# ╰──────┴──────╯
|
||||||
|
|
||||||
# run initial steps
|
# run required initial steps
|
||||||
#< core/code
|
#< core/code
|
||||||
rwx_main_main() {
|
rwx_main_main() {
|
||||||
local module modules
|
local module
|
||||||
# find & source modules
|
local modules
|
||||||
|
# find main modules
|
||||||
modules="$(rwx_main_find "${rwx_main_root}")"
|
modules="$(rwx_main_find "${rwx_main_root}")"
|
||||||
|
# source main modules
|
||||||
while IFS= read -r module; do
|
while IFS= read -r module; do
|
||||||
|
# except currently running main module
|
||||||
if [ "${module}" != "${RWX_MAIN_MODULE}" ]; then
|
if [ "${module}" != "${RWX_MAIN_MODULE}" ]; then
|
||||||
# shellcheck disable=SC1090
|
# shellcheck disable=SC1090
|
||||||
. "${rwx_main_root}/${module}.${RWX_MAIN_EXTENSION}"
|
. "${rwx_main_root}/${module}.${RWX_MAIN_EXTENSION}"
|
||||||
|
@ -61,7 +63,7 @@ rwx_main_main() {
|
||||||
done <<EOF
|
done <<EOF
|
||||||
${modules}
|
${modules}
|
||||||
EOF
|
EOF
|
||||||
# run code main function
|
# run code module main function with found main modules
|
||||||
rwx_code_main "${modules}" "${@}"
|
rwx_code_main "${modules}" "${@}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue