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])
+    
+