diff --git a/Script/CastorScript.py b/Script/CastorScript.py index 083135d524592b04399f47eb8744c6fff597a5b1..3dfabdb53b3a7da5093bb13a07a507be6a8d77c1 100755 --- a/Script/CastorScript.py +++ b/Script/CastorScript.py @@ -19,7 +19,7 @@ import sys import os.path import signal import logging, logging.handlers - +from utils import set_log_level ##### Global flags for update and exit signals ##### exitFlag = 0 @@ -70,7 +70,7 @@ def main(conf): email = logging.handlers.SMTPHandler('localhost',conf.mailSender,conf.mailList,'CastorScript message') email.setFormatter(formatter) mailLevel = conf.mailLevel - setLogLevel(mailLevel,email) + set_log_level(mailLevel, email) logging.getLogger('').addHandler(email) # end if @@ -80,7 +80,7 @@ def main(conf): mainLog.setFormatter(formatter) logger = logging.getLogger('main') LogLevel = conf.LogLevel - setLogLevel(LogLevel,mainLog) + set_log_level(LogLevel, mainLog) logger.addHandler(mainLog) ##### Create db logger ##### @@ -88,7 +88,7 @@ def main(conf): 'w') dbLog.setFormatter(formatter) dblogger = logging.getLogger('Database') - setLogLevel(LogLevel,dbLog) + set_log_level(LogLevel,dbLog) dblogger.addHandler(dbLog) #### Extend the PYTHON_PATH #### @@ -198,9 +198,9 @@ def main(conf): copy.copyConf(conf) delete.deleteConf(conf) #db.dbConf(conf) - if mailFlag: setLogLevel(mailLevel,email) - setLogLevel(LogLevel,mainLog) - setLogLevel(LogLevel,dbLog) + if mailFlag: set_log_level(mailLevel,email) + set_log_level(LogLevel,mainLog) + set_log_level(LogLevel,dbLog) confFlag = 0 logInfo = {'file':logger.findCaller()[0],'line':logger.findCaller()[1]} logger.info('Configuration updated',extra = logInfo) @@ -284,16 +284,5 @@ def checkDB(db,logger,dblogger,parser): # end checkDB() -#### Set Log severity level ##### -def setLogLevel(LogLevel,Log): - level = LogLevel.upper() - if level == 'DEBUG': Log.setLevel(logging.DEBUG) - elif level == 'INFO': Log.setLevel(logging.INFO) - elif level == 'WARNING': Log.setLevel(logging.WARNING) - elif level == 'ERROR': Log.setLevel(logging.ERROR) - elif level == 'CRITICAL': Log.setLevel(logging.CRITICAL) -# end setLogLevel() - - if __name__ == '__main__': main(conf) diff --git a/Script/CopyThread.py b/Script/CopyThread.py index 15c3817756ecc100de2f12a44cf2fbb84d4536c4..3795ec5d5c73985db31da8069354472d3957c433 100755 --- a/Script/CopyThread.py +++ b/Script/CopyThread.py @@ -11,6 +11,7 @@ from subprocess import * import signal import logging from Constants import * +from utils import set_log_level class CopyThread(threading.Thread): @@ -54,8 +55,7 @@ class CopyThread(threading.Thread): def run(self): ##### Set Logger Level ##### - self.setLogLevel() - + set_log_level(self.LogLevel, self.CopyLog) while(1): @@ -332,7 +332,8 @@ class CopyThread(threading.Thread): self.CopyTimeout = self.conf.CopyTimeout self.LogDir = self.conf.LogDir self.LogLevel = self.conf.LogLevel - self.setLogLevel() + set_log_level(self.LogLevel, self.CopyLog) + # end def copyConf() @@ -353,13 +354,3 @@ class CopyThread(threading.Thread): return flag # end getDB() - - #### Set Log severity level ##### - def setLogLevel(self): - level = self.LogLevel.upper() - if level == 'DEBUG': self.CopyLog.setLevel(logging.DEBUG) - elif level == 'INFO': self.CopyLog.setLevel(logging.INFO) - elif level == 'WARNING': self.CopyLog.setLevel(logging.WARNING) - elif level == 'ERROR': self.CopyLog.setLevel(logging.ERROR) - elif level == 'CRITICAL': self.CopyLog.setLevel(logging.CRITICAL) - # end setLogLevel() diff --git a/Script/DeleteThread.py b/Script/DeleteThread.py index fb199372fede29b778da1684d7a086125a7516ab..f1280542f508bd5869202fdab9442794b5571af3 100755 --- a/Script/DeleteThread.py +++ b/Script/DeleteThread.py @@ -12,6 +12,7 @@ import logging from Constants import * from operator import itemgetter, add, contains from functools import partial +from utils import set_log_level class DeleteThread(threading.Thread): @@ -95,9 +96,8 @@ class DeleteThread(threading.Thread): def run(self): ##### Set Logger Level ##### - self.setLogLevel() - - + set_log_level(self.LogLevel, self.DeleteLog) + fileCounter = 0 while not self.exitFlag: @@ -469,7 +469,8 @@ class DeleteThread(threading.Thread): self.MigDelay = self.conf.MigDelay self.LogDir = self.conf.LogDir self.LogLevel = self.conf.LogLevel - self.setLogLevel() + set_log_level(self.LogLevel, self.DeleteLog) + # end def deleteConf() @@ -494,13 +495,3 @@ class DeleteThread(threading.Thread): return flag # end getDB() - - #### Set Log severity level ##### - def setLogLevel(self): - level = self.LogLevel.upper() - if level == 'DEBUG': self.DeleteLog.setLevel(logging.DEBUG) - elif level == 'INFO': self.DeleteLog.setLevel(logging.INFO) - elif level == 'WARNING': self.DeleteLog.setLevel(logging.WARNING) - elif level == 'ERROR': self.DeleteLog.setLevel(logging.ERROR) - elif level == 'CRITICAL': self.DeleteLog.setLevel(logging.CRITICAL) - # end setLogLevel() diff --git a/Script/ManagerThread.py b/Script/ManagerThread.py index ff8b155fdf664e43a383217eefb01fae34d91210..b58558034230f688cc120f5bdc44bf8d33174306 100755 --- a/Script/ManagerThread.py +++ b/Script/ManagerThread.py @@ -18,6 +18,7 @@ import datetime from Constants import * from Conf import DrivenPool import math +from utils import set_log_level class ManagerThread(threading.Thread): @@ -204,8 +205,8 @@ class ManagerThread(threading.Thread): def run(self): ##### Set Logger Level ##### - self.setLogLevel() - + set_log_level(self.LogLevel, self.ManagerLog) + try: #### Initialize manager #### self.initialize() @@ -510,7 +511,8 @@ class ManagerThread(threading.Thread): self.ManagerTimeout = self.conf.ManagerTimeout self.LogDir = self.conf.LogDir self.LogLevel = self.conf.LogLevel - self.setLogLevel() + set_log_level(self.LogLevel, self.ManagerLog) + ##### Do not update if an 'ls' on disk is ongoing ##### while(1): self.logInfo = {'file':self.logger.findCaller()[0],'line':self.logger.findCaller()[1]} @@ -535,16 +537,6 @@ class ManagerThread(threading.Thread): self.event.wait(self.ManagerTimeout) # end def managerConf() - #### Set Log severity level ##### - def setLogLevel(self): - level = self.LogLevel.upper() - if level == 'DEBUG': self.ManagerLog.setLevel(logging.DEBUG) - elif level == 'INFO': self.ManagerLog.setLevel(logging.INFO) - elif level == 'WARNING': self.ManagerLog.setLevel(logging.WARNING) - elif level == 'ERROR': self.ManagerLog.setLevel(logging.ERROR) - elif level == 'CRITICAL': self.ManagerLog.setLevel(logging.CRITICAL) - # end setLogLevel() - def updateDates(self): self.Year = datetime.date.today().year self.Month = datetime.date.today().month diff --git a/Script/utils.py b/Script/utils.py new file mode 100644 index 0000000000000000000000000000000000000000..2e181915893be50e863575fb6d3842b98cfa53b1 --- /dev/null +++ b/Script/utils.py @@ -0,0 +1,19 @@ + +__version__='$Revision:$' + +import logging + +#### Set Log severity level ##### +def set_log_level(level, logger): + + level = level.upper() + + map = {'DEBUG':logging.DEBUG, + 'INFO':logging.INFO, + 'WARNING':logging.WARNING, + 'ERROR':logging.ERROR, + 'CRITICAL':logging.CRITICAL} + + logger.setLevel(map[level]) + +