You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

45 lines
723 B

#!/usr/bin/env bash
# exec &> >(tee -a "${SYSLOG}")
# exec &> >(tee -a "${APPLOG}")
trap 'exit 1' HUP INT QUIT TERM
# trap 'on_error' EXIT
log::prefix() {
date=$(/opt/homebrew/bin/gdate '+%Y-%m-%d %H:%M:%S,%3N')
printf '%s %s\n' "${date}" "${*}"
}
log::notice() {
log::info "==> ${*}"
}
log::info() {
log::prefix "INFO ${*}"
}
log::debug() {
log::prefix "DEBUG ${*}"
}
log::warning() {
log::prefix "WARNING ${*}"
}
log::error() {
log::prefix "ERROR ${*}" >&2
}
log::fatal() {
reason="${1-Unknown or not specified}"
log::error "Fatal error. Reason: ${reason}"
kill -s TERM $$
}
on_error() {
if [ $? -ne 0 ]; then
log::fatal "Unhandled script failure"
fi
}