[Yum-devel] [PATCH] Fix syslog_indent and syslog_facility settings, improve syslog format.

Ville Skyttä ville.skytta at iki.fi
Wed Mar 24 16:33:52 UTC 2010


---
 yum/logginglevels.py |   59 ++++++++++++++++++++++---------------------------
 1 files changed, 27 insertions(+), 32 deletions(-)

diff --git a/yum/logginglevels.py b/yum/logginglevels.py
index 3d82b55..1de8ef0 100644
--- a/yum/logginglevels.py
+++ b/yum/logginglevels.py
@@ -45,28 +45,27 @@ logging.addLevelName(DEBUG_4, "DEBUG_4")
 __NO_LOGGING = 100
 logging.raiseExceptions = False
 
-import syslog as syslog_module
-
 syslog = None
 
-# Mostly borrowed from original yum-updated.py
-_syslog_facility_map = { "KERN"   : syslog_module.LOG_KERN,
-                         "USER"   : syslog_module.LOG_USER,
-                         "MAIL"   : syslog_module.LOG_MAIL,
-                         "DAEMON" : syslog_module.LOG_DAEMON,
-                         "AUTH"   : syslog_module.LOG_AUTH,
-                         "LPR"    : syslog_module.LOG_LPR,
-                         "NEWS"   : syslog_module.LOG_NEWS,
-                         "UUCP"   : syslog_module.LOG_UUCP,
-                         "CRON"   : syslog_module.LOG_CRON,
-                         "LOCAL0" : syslog_module.LOG_LOCAL0,
-                         "LOCAL1" : syslog_module.LOG_LOCAL1,
-                         "LOCAL2" : syslog_module.LOG_LOCAL2,
-                         "LOCAL3" : syslog_module.LOG_LOCAL3,
-                         "LOCAL4" : syslog_module.LOG_LOCAL4,
-                         "LOCAL5" : syslog_module.LOG_LOCAL5,
-                         "LOCAL6" : syslog_module.LOG_LOCAL6,
-                         "LOCAL7" : syslog_module.LOG_LOCAL7,}
+# Mostly borrowed from original yum-updatesd.py
+_syslog_facility_map = { "KERN"   : logging.handlers.SysLogHandler.LOG_KERN,
+                         "USER"   : logging.handlers.SysLogHandler.LOG_USER,
+                         "MAIL"   : logging.handlers.SysLogHandler.LOG_MAIL,
+                         "DAEMON" : logging.handlers.SysLogHandler.LOG_DAEMON,
+                         "AUTH"   : logging.handlers.SysLogHandler.LOG_AUTH,
+                         "LPR"    : logging.handlers.SysLogHandler.LOG_LPR,
+                         "NEWS"   : logging.handlers.SysLogHandler.LOG_NEWS,
+                         "UUCP"   : logging.handlers.SysLogHandler.LOG_UUCP,
+                         "CRON"   : logging.handlers.SysLogHandler.LOG_CRON,
+                         "LOCAL0" : logging.handlers.SysLogHandler.LOG_LOCAL0,
+                         "LOCAL1" : logging.handlers.SysLogHandler.LOG_LOCAL1,
+                         "LOCAL2" : logging.handlers.SysLogHandler.LOG_LOCAL2,
+                         "LOCAL3" : logging.handlers.SysLogHandler.LOG_LOCAL3,
+                         "LOCAL4" : logging.handlers.SysLogHandler.LOG_LOCAL4,
+                         "LOCAL5" : logging.handlers.SysLogHandler.LOG_LOCAL5,
+                         "LOCAL6" : logging.handlers.SysLogHandler.LOG_LOCAL6,
+                         "LOCAL7" : logging.handlers.SysLogHandler.LOG_LOCAL7,
+                       }
 def syslogFacilityMap(facility):
     if type(facility) == int:
         return facility
@@ -75,7 +74,7 @@ def syslogFacilityMap(facility):
     elif (facility.upper().startswith("LOG_") and
           facility[4:].upper() in _syslog_facility_map):
         return _syslog_facility_map[facility[4:].upper()]
-    return syslog_module.LOG_USER
+    return _syslog_facility_map["USER"]
 
 def logLevelFromErrorLevel(error_level):
     """ Convert an old-style error logging level to the new style. """
@@ -140,7 +139,6 @@ def doLoggingSetup(debuglevel, errorlevel,
         return
 
     plainformatter = logging.Formatter("%(message)s")
-    syslogformatter = logging.Formatter("yum: %(message)s")
     
     console_stdout = logging.StreamHandler(sys.stdout)
     console_stdout.setFormatter(plainformatter)
@@ -158,20 +156,17 @@ def doLoggingSetup(debuglevel, errorlevel,
     filelogger.setLevel(logging.INFO)
     filelogger.propagate = False
 
-    log_dev = syslog_device
     global syslog
-    if os.path.exists(log_dev):
+    if os.path.exists(syslog_device):
         try:
-            syslog = logging.handlers.SysLogHandler(log_dev)
-            syslog.setFormatter(syslogformatter)
-            filelogger.addHandler(syslog)
-            if syslog_ident is not None or syslog_facility is not None:
-                ident = syslog_ident    or ''
-                facil = syslog_facility or 'LOG_USER'
-                syslog_module.openlog(ident, 0, syslogFacilityMap(facil))
+            facil = syslogFacilityMap(syslog_facility or "USER")
+            syslog = logging.handlers.SysLogHandler(syslog_device, facil)
         except socket.error:
             if syslog is not None:
                 syslog.close()
+        else:
+            setLoggingApp(syslog_ident or "yum")
+            filelogger.addHandler(syslog)
     _added_handlers = True
 
     if debuglevel is not None:
@@ -201,5 +196,5 @@ def setFileLog(uid, logfile):
 
 def setLoggingApp(app):
     if syslog:
-        syslogformatter = logging.Formatter("yum(%s): "% (app,) + "%(message)s")
+        syslogformatter = logging.Formatter(app + "[%(process)d]: %(message)s")
         syslog.setFormatter(syslogformatter)
-- 
1.7.0.1



More information about the Yum-devel mailing list