Files
jugement_majoritaire/nextcloud_devenv/lib/log_functions.sh

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 $@
}