summaryrefslogtreecommitdiff
path: root/lib/log.sh
diff options
context:
space:
mode:
Diffstat (limited to 'lib/log.sh')
-rw-r--r--lib/log.sh38
1 files changed, 38 insertions, 0 deletions
diff --git a/lib/log.sh b/lib/log.sh
new file mode 100644
index 0000000..f204d7e
--- /dev/null
+++ b/lib/log.sh
@@ -0,0 +1,38 @@
+function log() {
+ local log_level=0
+ local log_level_string=""
+
+ case $1 in
+ debug)
+ log_level=0
+ log_level_string="[DBG]"
+ ;;
+ verbose)
+ log_level=1
+ log_level_string="[VRB]"
+ ;;
+ info)
+ log_level=2
+ log_level_string="[INF]"
+ ;;
+ warn)
+ log_level=3
+ log_level_string="[WRN]"
+ ;;
+ error)
+ log_level=4
+ log_level_string="[ERR]"
+ ;;
+ esac
+ shift
+
+ # set the log level to info if unset
+ [[ -z "DOT_LOG_LEVEL" ]] && DOT_LOG_LEVEL=2
+
+ # if this is too verbose, stop now
+ [[ "$DOT_LOG_LEVEL" -gt "$level" ]] && return
+
+ [[ -n "$_modulename" ]] && module="[$_modulename]: " || module=""
+
+ echo "$log_level_string $module$@"
+}