Files
dts-scripts/scripts/logging

49 lines
1.0 KiB
Plaintext
Raw Permalink Normal View History

#!/bin/bash
logger() {
while read -r LINE
do
echo "[$(date +%T.%3N)]: $LINE"
done
}
start_logging() {
local file="$DTS_LOG_FILE"
if [ -z "$LOGGING" ]; then
LOGGING="true"
if [ -z "$DESC" ]; then
# Create file descriptor that echoes back anything written to it
# and also logs that line to file with added timestamp prefix
exec {DESC}> >(tee >(stdbuf -i0 -oL -eL ts "[%T]: " >> "$file"))
fi
exec 1>&$DESC
fi
}
stop_logging() {
if [ -n "$LOGGING" ]; then
exec >&0
LOGGING=
fi
}
start_trace_logging() {
local file="$DTS_VERBOSE_LOG_FILE"
if [ -z "$BASH_XTRACEFD" ]; then
exec {xtrace_fd}>>"$file"
export BASH_XTRACEFD=${xtrace_fd}
set -x
fi
}
stop_trace_logging() {
if [ -n "$BASH_XTRACEFD" ]; then
set +x
BASH_XTRACEFD=
fi
}
export PS4="+[\$(date +%T.%3N)]:\${BASH_SOURCE[0]}:\${LINENO[0]}:\${FUNCNAME[0]:-main}: "
export LOGGING
export DESC