From 1fbd8c079ce2a0a4a926f3737d9dc037af8d176b Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Thu, 24 Aug 2017 18:38:34 +0200 Subject: [PATCH] contrib/scripts: add NM-log helper To pretty print and colorize NetworkManager logfiles. --- contrib/scripts/NM-log | 52 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100755 contrib/scripts/NM-log diff --git a/contrib/scripts/NM-log b/contrib/scripts/NM-log new file mode 100755 index 0000000000..608fc386ab --- /dev/null +++ b/contrib/scripts/NM-log @@ -0,0 +1,52 @@ +#!/bin/bash + +# Util to pretty-print logfile of NetworkManager +# +# Unless setting NM_LOG_NO_COLOR it will colorize the output. +# Suppress coloring with: +# $ NM_LOG_NO_COLOR=1 NM-log ... +# +# If called without arguments, it either reads from stdin (if not +# connected to a terminal) or it shows the journal content. +# +# If called with first argument "j", it always shows the journal content. +# +# You can pass multiple filenames. + +show-journal() { + local since="$(systemctl show NetworkManager | sed -n 's/^ExecMainStartTimestamp=\(.*\) [A-Z0-9]\+$/\1/p')" + + if [[ "$since" == "" ]]; then + echo "error detecting NM. Is it running?" + systemctl status NetworkManager + else + exec journalctl -o short-precise --since "$since" -b 0 -u NetworkManager "$@" + fi +} + +colorize() { + if [[ "$NM_LOG_NO_COLOR" == "" ]]; then + GREP_COLOR='01;33' grep --color=always '^\|^\(.* \)\?<\(warn>\|info> \|error>\) \(.*\.*$\)\?' | \ + GREP_COLOR='01;37' grep --color=always '^\|\