+ # don't include SILENT in alllevels: it's handled separately
+ # list in decreasing verbosity (all caps).
+ # separate with $IFS explicitly, since we do some fancy footwork
+ # elsewhere.
+ alllevels="DEBUG${IFS}VERBOSE${IFS}INFO${IFS}ERROR"
+
+ # translate lowers to uppers in global log level
+ LOG_LEVEL=$(echo "$LOG_LEVEL" | tr "[:lower:]" "[:upper:]")
+
+ # just go ahead and return if the log level is silent
+ if [ "$LOG_LEVEL" = 'SILENT' ] ; then
+ return
+ fi
+
+ for level in $alllevels ; do
+ if [ "$LOG_LEVEL" = "$level" ] ; then
+ found=true
+ fi
+ done
+ if [ -z "$found" ] ; then
+ # default to INFO:
+ LOG_LEVEL=INFO
+ fi
+
+ # get priority from first parameter, translating all lower to
+ # uppers
+ priority=$(echo "$1" | tr "[:lower:]" "[:upper:]")