From cbae24e906dbcffc0de3464de8063f4db13c0dfb Mon Sep 17 00:00:00 2001 From: Wainer Vandelli <Wainer.Vandelli@cern.ch> Date: Tue, 13 Apr 2010 17:29:57 +0000 Subject: [PATCH] Common function for log level setting --- Script/CastorScript.py | 25 +++++++------------------ Script/CopyThread.py | 17 ++++------------- Script/DeleteThread.py | 19 +++++-------------- Script/ManagerThread.py | 18 +++++------------- Script/utils.py | 19 +++++++++++++++++++ 5 files changed, 40 insertions(+), 58 deletions(-) create mode 100644 Script/utils.py diff --git a/Script/CastorScript.py b/Script/CastorScript.py index 083135d..3dfabdb 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 15c3817..3795ec5 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 fb19937..f128054 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 ff8b155..b585580 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 0000000..2e18191 --- /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]) + + -- GitLab