46 lines
723 B
Bash
46 lines
723 B
Bash
#!/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
|
|
}
|