summaryrefslogtreecommitdiffstats
path: root/contrib/logging.hook
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/logging.hook')
-rwxr-xr-xcontrib/logging.hook86
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
+}
+