diff --git a/conf/dataManager.conf b/conf/dataManager.conf index 6ff991bea40052a69d39bed68b2a9c041516a55f..9064a30aeb5ab7c36147be044d42aded5700ac11 100644 --- a/conf/dataManager.conf +++ b/conf/dataManager.conf @@ -63,3 +63,6 @@ logfilePath = /space/projects/zeromq-data-transfer/logs # Filename used for logging logfileName = dataManager.log +# File size before rollover in B (linux only) +logfileSize = 10485760 ; #100 MB + diff --git a/conf/dataReceiver.conf b/conf/dataReceiver.conf index fba543c47cc2eab05382b168bb0f16116e4686fa..966b91005af6df3a568dc7219a638f8e1b3e521e 100644 --- a/conf/dataReceiver.conf +++ b/conf/dataReceiver.conf @@ -10,3 +10,6 @@ dataStreamPort = 50100 logfilePath = /space/projects/zeromq-data-transfer/logs # Filename used for logging logfileName = dataReceiver.log +# File size before rollover in B (linux only) +logfileSize = 104857600 ; #100 MB + diff --git a/src/receiver/DataReceiver.py b/src/receiver/DataReceiver.py index 63bd9d19d59366f2ee8763da09e5310801e4602e..9a13084d86e96514bd63c253e4b737b6897195ef 100644 --- a/src/receiver/DataReceiver.py +++ b/src/receiver/DataReceiver.py @@ -35,6 +35,8 @@ def argumentParsing(): logfilePath = config.get('asection', 'logfilePath') logfileName = config.get('asection', 'logfileName') + logfileSize = config.get('asection', 'logfileSize') + targetDir = config.get('asection', 'targetDir') @@ -49,6 +51,9 @@ def argumentParsing(): parser.add_argument("--logfileName" , type = str, help = "Filename used for logging (default=" + str(logfileName) + ")", default = logfileName ) + parser.add_argument("--logfileSize" , type = int, + help = "File size in B before rollover (linux only; (default=" + str(logfileSize) + ")", + default = logfileSize ) parser.add_argument("--verbose" , help = "More verbose output", action = "store_true" ) parser.add_argument("--onScreen" , type = str, @@ -71,6 +76,7 @@ def argumentParsing(): logfilePath = arguments.logfilePath logfileName = arguments.logfileName logfile = os.path.join(logfilePath, logfileName) + logsize = arguments.logfileSize verbose = arguments.verbose onScreen = arguments.onScreen @@ -80,7 +86,7 @@ def argumentParsing(): root = logging.getLogger() root.setLevel(logging.DEBUG) - handlers = helpers.getLogHandlers(logfile, verbose, onScreen) + handlers = helpers.getLogHandlers(logfile, logsize, verbose, onScreen) if type(handlers) == tuple: for h in handlers: diff --git a/src/sender/DataDispatcher.py b/src/sender/DataDispatcher.py index 11a353a9eea28fda1a1e000972fa2db8b4544106..4fc49bc3cd571a33a9fcd920ceb5fcca7c6e840d 100644 --- a/src/sender/DataDispatcher.py +++ b/src/sender/DataDispatcher.py @@ -204,12 +204,13 @@ if __name__ == '__main__': freeze_support() #see https://docs.python.org/2/library/multiprocessing.html#windows - logfile = BASE_PATH + os.sep + "logs" + os.sep + "dataDispatcher.log" + logfile = BASE_PATH + os.sep + "logs" + os.sep + "dataDispatcher.log" + logsize = 10485760 logQueue = Queue(-1) # Get the log Configuration for the lisener - h1, h2 = helpers.getLogHandlers(logfile, verbose=True, onScreenLogLevel="debug") + h1, h2 = helpers.getLogHandlers(logfile, logsize, verbose=True, onScreenLogLevel="debug") # Start queue listener using the stream handler above logQueueListener = helpers.CustomQueueListener(logQueue, h1, h2) diff --git a/src/sender/DataManager.py b/src/sender/DataManager.py index 31c4080837bc437242d1c61080fa8684adc3c776..11310c222bd4185f3df0cd623f7e924153d631bd 100644 --- a/src/sender/DataManager.py +++ b/src/sender/DataManager.py @@ -40,6 +40,7 @@ def argumentParsing(): logfilePath = config.get('asection', 'logfilePath') logfileName = config.get('asection', 'logfileName') + logfileSize = config.get('asection', 'logfileSize') #100*1048576 comPort = config.get('asection', 'comPort') whitelist = json.loads(config.get('asection', 'whitelist')) @@ -74,6 +75,9 @@ def argumentParsing(): parser.add_argument("--logfileName" , type = str, help = "Filename used for logging (default=" + str(logfileName) + ")", default = logfileName ) + parser.add_argument("--logfileSize" , type = int, + help = "File size before rollover in B (linux only; (default=" + str(logfileSize) + ")", + default = logfileSize ) parser.add_argument("--verbose" , help = "More verbose output", action = "store_true") parser.add_argument("--onScreen" , type = str, @@ -188,6 +192,7 @@ class DataManager(): logfilePath = arguments.logfilePath logfileName = arguments.logfileName logfile = os.path.join(logfilePath, logfileName) + logsize = arguments.logfileSize verbose = arguments.verbose onScreen = arguments.onScreen @@ -202,12 +207,12 @@ class DataManager(): # Get the log Configuration for the lisener if onScreen: - h1, h2 = helpers.getLogHandlers(logfile, verbose, onScreen) + h1, h2 = helpers.getLogHandlers(logfile, logsize, verbose, onScreen) # Start queue listener using the stream handler above self.logQueueListener = helpers.CustomQueueListener(self.logQueue, h1, h2) else: - h1 = helpers.getLogHandlers(logfile, verbose, onScreen) + h1 = helpers.getLogHandlers(logfile, logsize, verbose, onScreen) # Start queue listener using the stream handler above self.logQueueListener = helpers.CustomQueueListener(self.logQueue, h1) @@ -427,11 +432,12 @@ if __name__ == '__main__': logfile = BASE_PATH + os.sep + "logs" + os.sep + "dataManager_test.log" + logsize = 10485760 logQueue = Queue(-1) # Get the log Configuration for the lisener - h1, h2 = helpers.getLogHandlers(logfile, verbose=True, onScreenLogLevel="debug") + h1, h2 = helpers.getLogHandlers(logfile, logsize, verbose=True, onScreenLogLevel="debug") # Start queue listener using the stream handler above logQueueListener = helpers.CustomQueueListener(logQueue, h1, h2) diff --git a/src/sender/SignalHandler.py b/src/sender/SignalHandler.py index a19e0555f6aeb4e39a4770c061d294cebea27283..b2424a2c6c49dd76cc4664a9f2940dd7ea65c5d7 100644 --- a/src/sender/SignalHandler.py +++ b/src/sender/SignalHandler.py @@ -35,7 +35,7 @@ class SignalHandler(): logQueue, context = None): # to get the logging only handling this class - log = None + log = None self.context = context or zmq.Context() self.localhost = "127.0.0.1" @@ -421,12 +421,13 @@ if __name__ == '__main__': requestFwPort = "6001" requestPort = "6002" - logfile = BASE_PATH + os.sep + "logs" + os.sep + "signalHandler.log" + logfile = BASE_PATH + os.sep + "logs" + os.sep + "signalHandler.log" + logsize = 10485760 logQueue = Queue(-1) # Get the log Configuration for the lisener - h1, h2 = helpers.getLogHandlers(logfile, verbose=True, onScreenLogLevel="debug") + h1, h2 = helpers.getLogHandlers(logfile, logsize, verbose=True, onScreenLogLevel="debug") # Start queue listener using the stream handler above logQueueListener = helpers.CustomQueueListener(logQueue, h1, h2) diff --git a/src/sender/TaskProvider.py b/src/sender/TaskProvider.py index 2120bc253081629afa213c21acce2091035917c9..f4688a04f6960de0f916fabcba93ac0efbb06ebf 100644 --- a/src/sender/TaskProvider.py +++ b/src/sender/TaskProvider.py @@ -273,6 +273,7 @@ if __name__ == '__main__': freeze_support() #see https://docs.python.org/2/library/multiprocessing.html#windows logfile = BASE_PATH + os.sep + "logs" + os.sep + "taskProvider.log" + logsize = 10485760 # eventDetectorConfig = { # "eventDetectorType" : "inotifyx", @@ -297,7 +298,7 @@ if __name__ == '__main__': logQueue = Queue(-1) # Get the log Configuration for the lisener - h1, h2 = helpers.getLogHandlers(logfile, verbose=True, onScreenLogLevel="debug") + h1, h2 = helpers.getLogHandlers(logfile, logsize, verbose=True, onScreenLogLevel="debug") # Start queue listener using the stream handler above logQueueListener = helpers.CustomQueueListener(logQueue, h1, h2) diff --git a/src/sender/dataFetchers/getFromFile.py b/src/sender/dataFetchers/getFromFile.py index 2a5ad34587a74cdc648c211b841f22927d947f6c..a1aeecc88a7197505710cd7f1a6176d169968f58 100644 --- a/src/sender/dataFetchers/getFromFile.py +++ b/src/sender/dataFetchers/getFromFile.py @@ -237,9 +237,10 @@ if __name__ == '__main__': import helpers logfile = BASE_PATH + os.sep + "logs" + os.sep + "getFromFile.log" + logsize = 10485760 # Get the log Configuration for the lisener - h1, h2 = helpers.getLogHandlers(logfile, verbose=True, onScreenLogLevel="debug") + h1, h2 = helpers.getLogHandlers(logfile, logsize, verbose=True, onScreenLogLevel="debug") # Create log and set handler to queue handle root = logging.getLogger() diff --git a/src/sender/dataFetchers/getFromQueue.py b/src/sender/dataFetchers/getFromQueue.py index 78afea98e75f2ac6384d6d0b0df29d0b671c15f2..7b7722af0a832fc911338094fe923caaf41aba46 100644 --- a/src/sender/dataFetchers/getFromQueue.py +++ b/src/sender/dataFetchers/getFromQueue.py @@ -184,9 +184,10 @@ if __name__ == '__main__': import helpers logfile = BASE_PATH + os.sep + "logs" + os.sep + "getFromFile.log" + logsize = 10485760 # Get the log Configuration for the lisener - h1, h2 = helpers.getLogHandlers(logfile, verbose=True, onScreenLogLevel="debug") + h1, h2 = helpers.getLogHandlers(logfile, logsize, verbose=True, onScreenLogLevel="debug") # Create log and set handler to queue handle root = logging.getLogger() diff --git a/src/sender/eventDetectors/InotifyxDetector.py b/src/sender/eventDetectors/InotifyxDetector.py index f4b0c7002e26e7db97be1f2d33867d8f18fb8aab..de19b9961feded591a649b8805bc0b3e11cda8af 100644 --- a/src/sender/eventDetectors/InotifyxDetector.py +++ b/src/sender/eventDetectors/InotifyxDetector.py @@ -331,11 +331,12 @@ if __name__ == '__main__': import helpers logfile = BASE_PATH + os.sep + "logs" + os.sep + "inotifyDetector.log" + logsize = 10485760 logQueue = Queue(-1) # Get the log Configuration for the lisener - h1, h2 = helpers.getLogHandlers(logfile, verbose=True, onScreenLogLevel="debug") + h1, h2 = helpers.getLogHandlers(logfile, logsize, verbose=True, onScreenLogLevel="debug") # Start queue listener using the stream handler above logQueueListener = helpers.CustomQueueListener(logQueue, h1, h2) diff --git a/src/sender/eventDetectors/LambdaDetector.py b/src/sender/eventDetectors/LambdaDetector.py index 0bc70e97fa0bf22ca8409ef06dfbfd70ed1b9c18..d78c9795f89852e4d706ae5ef79492b72861197a 100644 --- a/src/sender/eventDetectors/LambdaDetector.py +++ b/src/sender/eventDetectors/LambdaDetector.py @@ -123,11 +123,12 @@ if __name__ == '__main__': import helpers logfile = BASE_PATH + os.sep + "logs" + os.sep + "lambdaDetector.log" + logsize = 10485760 logQueue = Queue(-1) # Get the log Configuration for the lisener - h1, h2 = helpers.getLogHandlers(logfile, verbose=True, onScreenLogLevel="debug") + h1, h2 = helpers.getLogHandlers(logfile, logsize, verbose=True, onScreenLogLevel="debug") # Start queue listener using the stream handler above logQueueListener = helpers.CustomQueueListener(logQueue, h1, h2) diff --git a/src/sender/eventDetectors/WatchdogDetector.py b/src/sender/eventDetectors/WatchdogDetector.py index 8f967d5ef838f568298b28e440c38b1ac907fd17..215fe0c0fb091ef1215e39400de75b12f3b82461 100644 --- a/src/sender/eventDetectors/WatchdogDetector.py +++ b/src/sender/eventDetectors/WatchdogDetector.py @@ -374,11 +374,12 @@ if __name__ == '__main__': import helpers logfile = BASE_PATH + os.sep + "logs" + os.sep + "watchdogDetector.log" + logsize = 10485760 logQueue = Queue(-1) # Get the log Configuration for the lisener - h1, h2 = helpers.getLogHandlers(logfile, verbose=True, onScreenLogLevel="debug") + h1, h2 = helpers.getLogHandlers(logfile, logsize, verbose=True, onScreenLogLevel="debug") # Start queue listener using the stream handler above logQueueListener = helpers.CustomQueueListener(logQueue, h1, h2) diff --git a/src/shared/helpers.py b/src/shared/helpers.py index 33a54788ebe23fdc49484a7ef715f399a784a63b..6d3b868778053f21cf7d86426deae2580c93af43 100644 --- a/src/shared/helpers.py +++ b/src/shared/helpers.py @@ -201,6 +201,7 @@ def checkLogFileWritable(filepath, filename): try: logfullPath = os.path.join(filepath, filename) logFile = open(logfullPath, "a") + logFile.close() except: print "Unable to create the logfile " + str(logfullPath) print "Please specify a new target by setting the following arguments:\n--logfileName\n--logfilePath" @@ -291,7 +292,7 @@ class CustomQueueListener(QueueListener): # Get the log Configuration for the lisener -def getLogHandlers(logfile, verbose, onScreenLogLevel = False): +def getLogHandlers(logfile, logsize, verbose, onScreenLogLevel = False): # Enable more detailed logging if verbose-option has been set logLevel = logging.INFO if verbose: @@ -304,7 +305,7 @@ def getLogHandlers(logfile, verbose, onScreenLogLevel = False): # Setup file handler to output to file # argument for RotatingFileHandler: filename, mode, maxBytes, backupCount) # 1048576 = 1MB - h1 = logging.handlers.RotatingFileHandler(logfile, 'a', 3*1048576, 5) + h1 = logging.handlers.RotatingFileHandler(logfile, 'a', logsize, 5) f1 = logging.Formatter(datefmt=datef,fmt=f) h1.setFormatter(f1) h1.setLevel(logLevel)