[yum-cvs] yum/yum __init__.py,1.220,1.221 logginglevels.py,1.3,1.4

Jeremy Katz katzj at linux.duke.edu
Tue Aug 8 14:06:47 UTC 2006


Update of /home/groups/yum/cvs/yum/yum
In directory login1.linux.duke.edu:/tmp/cvs-serv9659/yum

Modified Files:
	__init__.py logginglevels.py 
Log Message:
set up logging by default, ensure we have basic logging initialized before 
plugins (jbowes at redhat.com)


Index: __init__.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/__init__.py,v
retrieving revision 1.220
retrieving revision 1.221
diff -u -r1.220 -r1.221
--- __init__.py	2 Aug 2006 17:31:22 -0000	1.220
+++ __init__.py	8 Aug 2006 14:06:45 -0000	1.221
@@ -124,19 +124,24 @@
         self.yumvar = self.conf.yumvar
         self.getReposFromConfig()
 
+        # who are we:
+        self.conf.uid = os.geteuid()
+
+        self.doFileLogSetup(self.conf.uid, self.conf.logfile)
+
         self.plugins.run('init')
 
     def doLoggingSetup(self, debuglevel, errorlevel):
         '''
         Perform logging related setup.
 
-        Subclasses should override this to initialise logging functionality as
-        required.
-
         @param debuglevel: Debug logging level to use.
         @param errorlevel: Error logging level to use.
         '''
-        pass
+        logginglevels.doLoggingSetup(errorlevel, debuglevel)
+
+    def doFileLogSetup(self, uid, logfile):
+        logginglevels.setFileLog(uid, logfile)
 
     def getReposFromConfig(self):
         """read in repositories from config main and .repo files"""

Index: logginglevels.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/logginglevels.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- logginglevels.py	20 Jul 2006 18:40:17 -0000	1.3
+++ logginglevels.py	8 Aug 2006 14:06:45 -0000	1.4
@@ -38,7 +38,6 @@
 logging.addLevelName(DEBUG_3, "DEBUG_3")
 logging.addLevelName(DEBUG_4, "DEBUG_4")
 
-
 # High level to effectively turn off logging.
 # For compatability with the old logging system.
 __NO_LOGGING = 100
@@ -82,7 +81,7 @@
     converted_level = logLevelFromErrorLevel(level)
     logging.getLogger("yum").setLevel(converted_level)
 
-def doLoggingSetup(uid, logfile, errorlevel=None, debuglevel=None):
+def doLoggingSetup(debuglevel, errorlevel):
     """
     Configure the python logger.
     
@@ -91,6 +90,7 @@
     debuglevel is optional. If provided, it will override the logging level
     provided in the logging config file for debug messages.
     """
+
     logging.basicConfig()
 
     plainformatter = logging.Formatter("%(message)s")
@@ -117,22 +117,22 @@
         syslog.setFormatter(plainformatter)
         filelogger.addHandler(syslog)
 
+    if debuglevel is not None:
+        setDebugLevel(debuglevel)
+    if errorlevel is not None:  
+        setErrorLevel(errorlevel)
+
+def setFileLog(uid, logfile):
     # TODO: When python's logging config parser doesn't blow up
     # when the user is non-root, put this in the config file.
     # syslog-style log
     if uid == 0:
-        logpath = os.path.dirname(logfile)
         try:
+            filelogger = logging.getLogger("yum.filelogging")
             filehandler = logging.FileHandler(logfile)
             formatter = logging.Formatter("%(asctime)s %(message)s",
                 "%b %d %H:%M:%S")
             filehandler.setFormatter(formatter)
             filelogger.addHandler(filehandler)
         except Exception, e:
-            logging.getLogger("yum").critical(_('Cannot open logfile %s'), logfile)
-
-    if debuglevel is not None:
-        setDebugLevel(debuglevel)
-    if errorlevel is not None:  
-        setErrorLevel(errorlevel)
-
+            logging.getLogger("yum").critical('Cannot open logfile %s', logfile)




More information about the Yum-cvs-commits mailing list