diff options
Diffstat (limited to 'contrib/logging.hook')
-rwxr-xr-x | contrib/logging.hook | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/contrib/logging.hook b/contrib/logging.hook new file mode 100755 index 0000000..27a7c39 --- /dev/null +++ b/contrib/logging.hook @@ -0,0 +1,86 @@ +### Sample netcfg hook script for logging/debugging connections +### To install, make this executable and put it in /etc/network.d/hooks + + +# These functions are loaded after, and override, the ones in /usr/lib/network/globals + +# uncomment one of the following lines +#function report_log { report_syslog "$@"; } +#function report_log { report_stderr "$@"; } + + + + + +# What facility to send log messages to? +NETCFGLOG="${NETCFGLOG-local0}" + +function report_syslog { + if [[ -n "$NETCFGLOG" ]]; then + local caller level="$1" + shift + case "$0" in + net-auto|netcfg-auto-*) caller=net-auto;; + net-profiles) caller=net-profiles;; + net-rename) caller=net-rename;; + *) caller=netcfg;; + esac + logger -p "${NETCFGLOG}.$level" -t "$caller" -- "$*" + fi +} + +function report_stderr { + local level="$1" + shift + echo "netcfg $level: $*" >&2 +} + +function report_err { + report_log err "$*" + printhl "$*" +} + +function report_warn { + report_log warning "$*" + # printhl "$*" +} + +function report_notify { + report_log notice "$*" + # print "$*" >&2 +} + +function report_debug { + report_log debug "$*" +} + +function report_try { + report_log notice "trying $*..." + REPORT_TRYING=1 + stat_busy "$*" +} + +function report_fail { + if [[ -n "$*" ]]; then + report_log err "$*" + if [[ -n "$REPORT_TRYING" ]]; then + stat_append "- $*" + REPORT_TRYING= + stat_fail + else + printhl "$*" + fi + elif [[ -n "$REPORT_TRYING" ]]; then + REPORT_TRYING= + stat_fail + fi +} + +function report_success { + if [[ -n "$*" ]]; then + stat_append "- $*" + fi + report_log notice "${*:-succeeded}" + stat_done +} + |