From 63408df158ebbef76155023d2f2fa83849427fd4 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Tue, 23 Nov 2021 08:30:00 +0100 Subject: [PATCH] system: improve opnsense-log a little --- src/sbin/opnsense-log | 40 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/src/sbin/opnsense-log b/src/sbin/opnsense-log index 2381e3dca..6846dfe20 100755 --- a/src/sbin/opnsense-log +++ b/src/sbin/opnsense-log @@ -23,10 +23,42 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. +DO_COMMAND=cat +DO_LIST= + +while getopts fl OPT; do + case ${OPT} in + f) + DO_COMMAND="tail -F -n0" + ;; + l) + DO_LIST="-l" + ;; + *) + echo "Usage: man ${0##*/}" >&2 + exit 1 + ;; + esac +done + +shift $((${OPTIND} - 1)) + LOGTYPE=${1:-system} -# XXX small POC for now, possible target list via -# -# find /var/log -name latest.log +LOGFILE="/var/log/${LOGTYPE}/latest.log" +LOGLIST=$(find -s /var/log -name latest.log) -tail -f "/var/log/${LOGTYPE}/latest.log" +if [ -n "${DO_LIST}" ]; then + for LOG in ${LOGLIST}; do + DIR=$(dirname ${LOG}) + echo ${DIR##*/} + done + exit +fi + +if [ ! -e "${LOGFILE}" ]; then + echo "No corresponding log '${LOGTYPE}' was found." >&2 + exit 1 +fi + +${DO_COMMAND} "${LOGFILE}"