lib/log: rename `_log_general()`

...to `_bash-it-log-message()`.

alsö, add common log levels with common names.
pull/1959/head
John D Pell 2021-10-16 14:40:54 -07:00
parent b772e6ace7
commit 6dec28b5df
1 changed files with 17 additions and 12 deletions

View File

@ -2,34 +2,39 @@
#
# A collection of logging functions.
export BASH_IT_LOG_LEVEL_ERROR=1
export BASH_IT_LOG_LEVEL_WARNING=2
export BASH_IT_LOG_LEVEL_ALL=3
# Declare log severity levels, matching syslog numbering
: "${BASH_IT_LOG_LEVEL_FATAL:=1}"
: "${BASH_IT_LOG_LEVEL_ERROR:=3}"
: "${BASH_IT_LOG_LEVEL_WARNING:=4}"
: "${BASH_IT_LOG_LEVEL_ALL:=6}"
: "${BASH_IT_LOG_LEVEL_INFO:=6}"
: "${BASH_IT_LOG_LEVEL_TRACE:=7}"
readonly "${!BASH_IT_LOG_LEVEL_@}"
function _has_colors() {
# Check that stdout is a terminal, and that it has at least 8 colors.
[[ -t 1 && "${_bash_it_available_colors:=$(tput colors 2> /dev/null)}" -ge 8 ]]
}
function _log_general() {
function _bash-it-log-message() {
about 'Internal function used for logging, uses BASH_IT_LOG_PREFIX as a prefix'
param '1: color of the message'
param '2: log level to print before the prefix'
param '3: message to log'
group 'log'
message=$2${BASH_IT_LOG_PREFIX:-default: }$3
message="$2${BASH_IT_LOG_PREFIX:-default: }$3"
_has_colors && echo -e "$1${message}${echo_normal:-}" || echo -e "${message}"
}
function _log_debug() {
about 'log a debug message by echoing to the screen. needs BASH_IT_LOG_LEVEL >= BASH_IT_LOG_LEVEL_ALL'
about 'log a debug message by echoing to the screen. needs BASH_IT_LOG_LEVEL >= BASH_IT_LOG_LEVEL_INFO'
param '1: message to log'
example '$ _log_debug "Loading plugin git..."'
group 'log'
[[ "${BASH_IT_LOG_LEVEL:-0}" -ge $BASH_IT_LOG_LEVEL_ALL ]] || return 0
_log_general "${echo_green:-}" "DEBUG: " "$1"
[[ "${BASH_IT_LOG_LEVEL:-0}" -ge "${BASH_IT_LOG_LEVEL_INFO?}" ]] || return 0
_bash-it-log-message "${echo_green:-}" "DEBUG: " "$1"
}
function _log_warning() {
@ -38,8 +43,8 @@ function _log_warning() {
example '$ _log_warning "git binary not found, disabling git plugin..."'
group 'log'
[[ "${BASH_IT_LOG_LEVEL:-0}" -ge $BASH_IT_LOG_LEVEL_WARNING ]] || return 0
_log_general "${echo_yellow:-}" " WARN: " "$1"
[[ "${BASH_IT_LOG_LEVEL:-0}" -ge "${BASH_IT_LOG_LEVEL_WARNING?}" ]] || return 0
_bash-it-log-message "${echo_yellow:-}" " WARN: " "$1"
}
function _log_error() {
@ -48,6 +53,6 @@ function _log_error() {
example '$ _log_error "Failed to load git plugin..."'
group 'log'
[[ "${BASH_IT_LOG_LEVEL:-0}" -ge $BASH_IT_LOG_LEVEL_ERROR ]] || return 0
_log_general "${echo_red:-}" "ERROR: " "$1"
[[ "${BASH_IT_LOG_LEVEL:-0}" -ge "${BASH_IT_LOG_LEVEL_ERROR?}" ]] || return 0
_bash-it-log-message "${echo_red:-}" "ERROR: " "$1"
}