poddoc/utils/logging
2023-12-22 23:02:14 +01:00

54 lines
1.2 KiB
Bash

#!/usr/bin/env bash
readonly GREEN="\033[38;5;34m"
readonly MAGENTA="\033[38;5;127m"
readonly BLUE="\033[38;5;33m"
readonly YELLOW="\033[38;5;220m"
readonly RED="\033[38;5;160m"
readonly RESET="\033[0m"
##
# description: Logs the message with the correct prefix into the console
# usage: log <type> <message>
##
function log() {
local prefix
type=$1
print=false
shift
message=$@
case $type in
"s")
print=true
prefix="${GREEN}[SUCCESS]${RESET}"
;;
"d")
if [[ "$debuglevel" -ge 4 ]]; then
print=true
fi
prefix="${MAGENTA}[DEBUG]${RESET}"
;;
"i")
if [[ "$debuglevel" -ge 1 ]]; then
print=true
fi
prefix="${BLUE}[INFO]${RESET}"
;;
"w")
if [[ "$debuglevel" -ge 2 ]]; then
print=true
fi
prefix="${YELLOW}[WARN]${RESET}"
;;
"e")
if [[ "$debuglevel" -ge 3 ]]; then
print=true
fi
prefix="${RED}[ERR]${RESET}"
;;
esac
"$print" && echo -e "$prefix $message"
}