91 lines
1.1 KiB
Bash
91 lines
1.1 KiB
Bash
# SHOULD BE INCLUDED WITH source or . from a bash script
|
|
|
|
# EXAMPLE
|
|
# log_functions=./log_functions.sh
|
|
# [[ -f $log_functions ]] || { echo "[FATAL] Missing $log_functions" >&2 ; exit 1 ;}
|
|
# source $log_functions
|
|
|
|
log_any()
|
|
{
|
|
priority=$1
|
|
shift
|
|
echo "[$priority] $@" >&2
|
|
}
|
|
|
|
log_fatal()
|
|
{
|
|
log_any FATAL "$*"
|
|
}
|
|
|
|
log_error()
|
|
{
|
|
log_any ERROR "$*"
|
|
}
|
|
|
|
log_warn()
|
|
{
|
|
log_any WARN "$*"
|
|
}
|
|
|
|
log_info()
|
|
{
|
|
log_any INFO "$*"
|
|
}
|
|
|
|
log_debug()
|
|
{
|
|
[[ -n $debug ]] && log_any DEBUG "$*"
|
|
}
|
|
|
|
|
|
deferpipe()
|
|
{
|
|
cat
|
|
echo "# <previous line> | $@"
|
|
}
|
|
|
|
autoquoteargs()
|
|
{
|
|
echo -n "$1"
|
|
shift
|
|
while [[ $# > 0 ]]
|
|
do
|
|
if [[ "$1" =~ [\ \$] ]]
|
|
then
|
|
echo -n " '$1'"
|
|
else
|
|
echo -n " $1"
|
|
fi
|
|
shift
|
|
done
|
|
echo
|
|
}
|
|
|
|
echoarray()
|
|
{
|
|
declare -a arr=("${@}")
|
|
declare -i len=${#arr[@]}
|
|
# Show passed array
|
|
for ((n = 0; n < len; n++))
|
|
do
|
|
echo -en " \"${arr[$n]}\""
|
|
done
|
|
echo
|
|
}
|
|
|
|
include_source()
|
|
{
|
|
if [[ -f $1 ]]
|
|
then
|
|
source $1
|
|
else
|
|
log_fatal "Missing $1 script"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
verbose()
|
|
{
|
|
[[ -n $verbose ]] && log_any $verbose $@
|
|
}
|