Log handling

better handling of leading log sigils in die(), log(), logc() and
warn(), fix in count_fields() (VRF 1.3.1)
This commit is contained in:
Patrick Van der Veken 2015-09-09 12:50:37 +02:00
parent deed41c199
commit 446848c94d

View File

@ -33,7 +33,7 @@
# @(#) 2015-01-05: added backup feature, see --backup (VRF 1.1.0) [Patrick Van der Veken]
# @(#) 2015-01-19: updated display_usage() (VRF 1.1.1) [Patrick Van der Veken]
# @(#) 2015-02-02: allow fragments files to have extensions in merge_fragments()
# use 'sudo -n' (VRF 1.1.2) [Patrick Van der Veken]
# @(#) use 'sudo -n' (VRF 1.1.2) [Patrick Van der Veken]
# @(#) 2015-04-10: fix in --fix-local routine (VRF 1.1.3) [Patrick Van der Veken]
# @(#) 2015-08-18: moved essential configuration items of the script into a
# @(#) separate configuration file (global/local), fix in
@ -45,7 +45,9 @@
# @(#) 2015-08-28: check_config() update (VRF 1.2.3) [Patrick Van der Veken]
# @(#) 2015-09-04: fix in wait_for_children (VRF 1.2.4) [Patrick Van der Veken]
# @(#) 2015-09-06: proper error checking in fix2host(), update2host() by using
# @(#) logc() (VRF 1.3.0) [Patrick Van der Veken
# @(#) logc() (VRF 1.3.0) [Patrick Van der Veken]
# @(#) 2015-09-09: better handling of leading log sigils in die(), log(), logc()
# @(#) and warn(), fix in count_fields() (VRF 1.3.1) [Patrick Van der Veken]
# -----------------------------------------------------------------------------
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
#******************************************************************************
@ -59,7 +61,7 @@
# or LOCAL_CONFIG_FILE instead
# define the V.R.F (version/release/fix)
MY_VRF="1.3.0"
MY_VRF="1.3.1"
# name of the global configuration file (script)
GLOBAL_CONFIG_FILE="manage_sudo.conf"
# name of the local configuration file (script)
@ -374,9 +376,9 @@ CHECK_DELIM="$2"
NUM_FIELDS=$(print "${CHECK_LINE}" | awk -F "${CHECK_DELIM}" '{ print NF }')
print $NUM_FIELDS
print ${NUM_FIELDS}
return ${NUM_FIELDS}
return 0
}
# -----------------------------------------------------------------------------
@ -390,16 +392,38 @@ then
then
print - "$*" | while read LOG_LINE
do
# filter leading 'ERROR:'
LOG_LINE="${LOG_LINE#ERROR: *}"
print "${NOW}: ERROR: [$$]:" "${LOG_LINE}" >>${LOG_FILE}
# check for leading log sigils and retain them
case "${LOG_LINE}" in
INFO:*)
LOG_LINE="${LOG_LINE#INFO: *}"
LOG_SIGIL="INFO"
;;
WARN:*)
LOG_LINE="${LOG_LINE#WARN: *}"
LOG_SIGIL="WARN"
;;
ERROR:*)
LOG_LINE="${LOG_LINE#ERROR: *}"
LOG_SIGIL="ERROR"
;;
*)
LOG_SIGIL="ERROR"
;;
esac
print "${NOW}: ${LOG_SIGIL}: [$$]:" "${LOG_LINE}" >>${LOG_FILE}
done
fi
print - "$*" | while read LOG_LINE
do
# filter leading 'ERROR:'
LOG_LINE="${LOG_LINE#ERROR: *}"
print -u2 "ERROR:" "${LOG_LINE}"
# check for leading log sigils and retain them
case "${LOG_LINE}" in
INFO:*|WARN:*|ERROR*)
print "${LOG_LINE}"
;;
*)
print "ERROR:" "${LOG_LINE}"
;;
esac
done
fi
@ -623,18 +647,40 @@ then
then
print - "$*" | while read LOG_LINE
do
# filter leading 'INFO:'
LOG_LINE="${LOG_LINE#INFO: *}"
print "${NOW}: INFO: [$$]:" "${LOG_LINE}" >>${LOG_FILE}
# check for leading log sigils and retain them
case "${LOG_LINE}" in
INFO:*)
LOG_LINE="${LOG_LINE#INFO: *}"
LOG_SIGIL="INFO"
;;
WARN:*)
LOG_LINE="${LOG_LINE#WARN: *}"
LOG_SIGIL="WARN"
;;
ERROR:*)
LOG_LINE="${LOG_LINE#ERROR: *}"
LOG_SIGIL="ERROR"
;;
*)
LOG_SIGIL="INFO"
;;
esac
print "${NOW}: ${LOG_SIGIL}: [$$]:" "${LOG_LINE}" >>${LOG_FILE}
done
fi
if (( ARG_VERBOSE ))
then
print - "$*" | while read LOG_LINE
do
# filter leading 'INFO:'
LOG_LINE="${LOG_LINE#INFO: *}"
print "INFO:" "${LOG_LINE}"
# check for leading log sigils and retain them
case "${LOG_LINE}" in
INFO:*|WARN:*|ERROR*)
print "${LOG_LINE}"
;;
*)
print "INFO:" "${LOG_LINE}"
;;
esac
done
fi
fi
@ -657,18 +703,40 @@ then
then
print - "${LOG_STDIN}" | while read LOG_LINE
do
# filter leading 'INFO:'
LOG_LINE="${LOG_LINE#INFO: *}"
print "${NOW}: INFO: [$$]:" "${LOG_LINE}" >> ${LOG_FILE}
# check for leading log sigils and retain them
case "${LOG_LINE}" in
INFO:*)
LOG_LINE="${LOG_LINE#INFO: *}"
LOG_SIGIL="INFO"
;;
WARN:*)
LOG_LINE="${LOG_LINE#WARN: *}"
LOG_SIGIL="WARN"
;;
ERROR:*)
LOG_LINE="${LOG_LINE#ERROR: *}"
LOG_SIGIL="ERROR"
;;
*)
LOG_SIGIL="INFO"
;;
esac
print "${NOW}: ${LOG_SIGIL}: [$$]:" "${LOG_LINE}" >>${LOG_FILE}
done
fi
if (( ARG_VERBOSE ))
then
print - "${LOG_STDIN}" | while read LOG_LINE
do
# filter leading 'INFO:'
LOG_LINE="${LOG_LINE#INFO: *}"
print "INFO:" "${LOG_LINE}"
# check for leading log sigils and retain them
case "${LOG_LINE}" in
INFO:*|WARN:*|ERROR*)
print "${LOG_LINE}"
;;
*)
print "INFO:" "${LOG_LINE}"
;;
esac
done
fi
fi
@ -680,18 +748,39 @@ then
then
print - "$*" | while read LOG_LINE
do
# filter leading 'INFO:'
LOG_LINE="${LOG_LINE#INFO: *}"
print "${NOW}: INFO: [$$]:" "${LOG_LINE}" >> ${LOG_FILE}
# check for leading log sigils and retain them
case "${LOG_LINE}" in
INFO:*)
LOG_LINE="${LOG_LINE#INFO: *}"
LOG_SIGIL="INFO"
;;
WARN:*)
LOG_LINE="${LOG_LINE#WARN: *}"
LOG_SIGIL="WARN"
;;
ERROR:*)
LOG_LINE="${LOG_LINE#ERROR: *}"
LOG_SIGIL="ERROR"
;;
*)
LOG_SIGIL="INFO"
;;
esac
print "${NOW}: ${LOG_SIGIL}: [$$]:" "${LOG_LINE}" >>${LOG_FILE}
done
fi
if (( ARG_VERBOSE != 0 ))
then
print - "$*" | while read LOG_LINE
do
# filter leading 'INFO:'
LOG_LINE="${LOG_LINE#INFO: *}"
print "INFO:" "${LOG_LINE}"
case "${LOG_LINE}" in
INFO:*|WARN:*|ERROR*)
print "${LOG_LINE}"
;;
*)
print "INFO:" "${LOG_LINE}"
;;
esac
done
fi
fi
@ -867,18 +956,40 @@ then
then
print - "$*" | while read LOG_LINE
do
# filter leading 'WARN:'
LOG_LINE="${LOG_LINE#WARN: *}"
print "${NOW}: WARN: [$$]:" "${LOG_LINE}" >>${LOG_FILE}
# check for leading log sigils and retain them
case "${LOG_LINE}" in
INFO:*)
LOG_LINE="${LOG_LINE#INFO: *}"
LOG_SIGIL="INFO"
;;
WARN:*)
LOG_LINE="${LOG_LINE#WARN: *}"
LOG_SIGIL="WARN"
;;
ERROR:*)
LOG_LINE="${LOG_LINE#ERROR: *}"
LOG_SIGIL="ERROR"
;;
*)
LOG_SIGIL="WARN"
;;
esac
print "${NOW}: ${LOG_SIGIL}: [$$]:" "${LOG_LINE}" >>${LOG_FILE}
done
fi
if (( ARG_VERBOSE ))
then
print - "$*" | while read LOG_LINE
do
# filter leading 'WARN:'
LOG_LINE="${LOG_LINE#WARN: *}"
print "WARN:" "${LOG_LINE}"
# check for leading log sigils and retain them
case "${LOG_LINE}" in
INFO:*|WARN:*|ERROR*)
print "${LOG_LINE}"
;;
*)
print "WARN:" "${LOG_LINE}"
;;
esac
done
fi
fi