From 2a3fa5b8c749e631d2d7ed1bb01300f023c4b9ea Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Tue, 25 May 2021 22:10:09 +0100 Subject: rename packages to lib --- lib/log.source.sh | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 lib/log.source.sh (limited to 'lib/log.source.sh') diff --git a/lib/log.source.sh b/lib/log.source.sh new file mode 100644 index 0000000..56c6587 --- /dev/null +++ b/lib/log.source.sh @@ -0,0 +1,30 @@ +# Log a message. +log () { + local -r level="$1"; shift + local message + + for message in "$@"; do + echo "$message" + done | log::_pipe "$level" +} + +# Log a stream through a pipe. +log::pipe () { + log::_pipe "$1" +} + +# Internal log implementation. +log::_pipe () { + local -r level="$1"; shift + + if [[ "$level" == VERBOSE && -z "$LOG_VERBOSE" ]]; then + return + fi + + local -r callee=${FUNCNAME[2]} + local -r stamp=$($DATE +%Y%m%d-%H%M%S) + + while read -r line; do + echo "$level|$stamp|$callee|$line" >&2 + done +} -- cgit v1.2.3