bdbg

Colored debug logging for bash
git clone git://git.defalsify.org/bash-dbg
Log | Files | Refs | LICENSE

bdbg.sh (704B)


      1 # This script normally lives in https://git.defalsify.org/bashbdbg
      2 # Licenced under Do What The Fuck You Want Licence v2
      3 # (c) 2021-2022 by lash 
      4 
      5 
      6 if [ -z "$_level" ]; then
      7 	if [ -z "$BDBG_LEVEL" ]; then
      8 		_level=3
      9 	else
     10 		_level=$BDBG_LEVEL
     11 	fi
     12 fi
     13 
     14 if [ -z "$_debug" ]; then
     15 	if [ ! -z "$BDBG" ]; then
     16 		if [ "$BDBG" -gt "0" ]; then
     17 			_debug=1
     18 		fi
     19 	fi
     20 fi
     21 
     22 dbg() {
     23 	if [ "$1" -lt "$_level" ]; then
     24 		return 0
     25 	fi
     26 
     27 	case "$1" in
     28 		1)
     29 			lvl='debug'
     30 			clr='\e[0;96m'
     31 			;;
     32 		2)
     33 			lvl='info'
     34 			clr='\e[0;92m'
     35 			;;
     36 
     37 		3)
     38 			lvl='warn'
     39 			clr='\e[0;93m'
     40 			;;
     41 		4)
     42 			lvl='error'
     43 			clr='\e[0;91m'
     44 			;;
     45 
     46 	esac
     47 
     48 	if [ -z $_debug ]; then
     49 		return 0
     50 	fi
     51 	>&2 echo -e "$clr$(printf %-9s [$lvl])$2\e[0m"
     52 }