From 169f5ebd561b3934c285e6acbe88cc37add9de83 Mon Sep 17 00:00:00 2001 From: Mark McIntyre Date: Mon, 23 Jun 2025 20:37:44 +0100 Subject: [PATCH 1/5] purge old logs --- liveMonitor.py | 16 +++++++--------- ukmonPostProc.py | 17 ++++++++++++++++- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/liveMonitor.py b/liveMonitor.py index 076ed5c..f35d09e 100644 --- a/liveMonitor.py +++ b/liveMonitor.py @@ -10,9 +10,10 @@ import RMS.ConfigReader as cr from stat import ST_INO from uploadToArchive import readKeyFile, readIniFile +from ukmonPostProc import setupLogging -log = logging.getLogger("logger") +log = logging.getLogger() timetowait = 30 # seconds to wait for a new line before deciding the log is stale @@ -54,12 +55,11 @@ def monitorLogFile(camloc, rmscfg): """ cfg = cr.parse(os.path.expanduser(rmscfg)) - - log = logging.getLogger("logger") - while len(log.handlers) > 0: - log.removeHandler(log.handlers[0]) - - initLogging(cfg, 'ukmonlive_') + datadir = cfg.data_dir + logdir = os.path.expanduser(os.path.join(datadir, cfg.log_dir)) + + setupLogging(logdir, 'ukmonlive_') + log.info('--------------------------------') log.info(' live feed started') log.info('--------------------------------') @@ -79,8 +79,6 @@ def monitorLogFile(camloc, rmscfg): log.error('config file not present, aborting') exit(1) - datadir = cfg.data_dir - logdir = os.path.expanduser(os.path.join(datadir, cfg.log_dir)) keepon = True logf = '' capdir = '' diff --git a/ukmonPostProc.py b/ukmonPostProc.py index 9fe69b4..b171429 100644 --- a/ukmonPostProc.py +++ b/ukmonPostProc.py @@ -11,6 +11,8 @@ import os import sys +import glob +import time import Utils.BatchFFtoImage as bff2i import Utils.GenerateMP4s as gmp4 @@ -46,10 +48,22 @@ def setupLogging(logpath, prefix): log.addHandler(ch) log.setLevel(logging.INFO) + + purgeOldLogs(logdir, prefix) + log.info('logging initialised') return +def purgeOldLogs(logdir, logpref, days=30): + reftime = time.time() - 86400*days + for logf in glob.glob(os.path.join(logdir, logpref + '*.log*')): + if os.path.getmtime(logf) < reftime: + log.debug('removing old log', logf) + os.remove(logf) + return + + def rmsExternal(cap_dir, arch_dir, config): """ Called from RMS to trigger the UKMON specific code @@ -108,8 +122,9 @@ def rmsExternal(cap_dir, arch_dir, config): log.info('uploading remaining files to archive') uploadToArchive(arch_dir, keys=keys) - # do not remote reboot lock file if running another script + # do not remove reboot lock file if running another script # os.remove(rebootlockfile) + extrascrfn = os.path.join(myloc, 'extrascript') if os.path.isfile(extrascrfn): extrascript = open(extrascrfn,'r').readline().strip() From 7a2d747e6c52eb907cea356f87ea06c8f3d2afb4 Mon Sep 17 00:00:00 2001 From: Mark McIntyre Date: Tue, 24 Jun 2025 11:53:41 +0100 Subject: [PATCH 2/5] add log message to confirm completion --- ukmonPostProc.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ukmonPostProc.py b/ukmonPostProc.py index b171429..6d67455 100644 --- a/ukmonPostProc.py +++ b/ukmonPostProc.py @@ -144,6 +144,7 @@ def rmsExternal(cap_dir, arch_dir, config): log.info('unable to remove reboot lock file, pi will not reboot') pass + log.info('done') # clear log handlers again while len(log.handlers) > 0: log.removeHandler(log.handlers[0]) From bca539e59ae32b43d8ebdaade03b02c6f1088ea2 Mon Sep 17 00:00:00 2001 From: Mark McIntyre Date: Tue, 24 Jun 2025 13:54:26 +0100 Subject: [PATCH 3/5] remove unused import --- liveMonitor.py | 1 - 1 file changed, 1 deletion(-) diff --git a/liveMonitor.py b/liveMonitor.py index f35d09e..08a66bb 100644 --- a/liveMonitor.py +++ b/liveMonitor.py @@ -6,7 +6,6 @@ from sendToLive import uploadOneEvent import datetime import logging -from RMS.Logger import initLogging import RMS.ConfigReader as cr from stat import ST_INO from uploadToArchive import readKeyFile, readIniFile From 5173fc00da08b2b33d2617ee2890363dbdaf7b8a Mon Sep 17 00:00:00 2001 From: Mark McIntyre Date: Mon, 21 Jul 2025 12:50:25 +0100 Subject: [PATCH 4/5] yet more checks to work around poor style from other developers. Arg. --- refreshTools.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/refreshTools.sh b/refreshTools.sh index 8022feb..2e22ef6 100755 --- a/refreshTools.sh +++ b/refreshTools.sh @@ -44,7 +44,7 @@ if [[ "$LOCATION" != "NOTCONFIGURED" && "$LOCATION" != "" ]] ; then loopctr=0 echo "Checking RMS update not in progress" while [ $loopctr -lt 10 ] ; do - grep XX0001 $RMSCFG + grep XX0001 $RMSCFG | | grep stationID: [ $? -eq 1 ] && break echo "RMS update in progress or station not configured, trying again in a minute" sleep 60 From 6d27ab89a43588066efa493fbc0d42efb696c1ae Mon Sep 17 00:00:00 2001 From: Mark McIntyre Date: Mon, 21 Jul 2025 13:04:44 +0100 Subject: [PATCH 5/5] typoe --- refreshTools.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/refreshTools.sh b/refreshTools.sh index 2e22ef6..d76493d 100755 --- a/refreshTools.sh +++ b/refreshTools.sh @@ -44,7 +44,7 @@ if [[ "$LOCATION" != "NOTCONFIGURED" && "$LOCATION" != "" ]] ; then loopctr=0 echo "Checking RMS update not in progress" while [ $loopctr -lt 10 ] ; do - grep XX0001 $RMSCFG | | grep stationID: + grep XX0001 $RMSCFG | grep stationID: [ $? -eq 1 ] && break echo "RMS update in progress or station not configured, trying again in a minute" sleep 60