BUG#: 8538
authorvenkat.puvvada <venkat.puvvada>
Mon, 22 Jun 2009 07:41:02 +0000 (07:41 +0000)
committervenkat.puvvada <venkat.puvvada>
Mon, 22 Jun 2009 07:41:02 +0000 (07:41 +0000)
TITLE: Incorrect loglevels are used for CMPIBrokerEncFT.LogMessage()
DESCRIPTION: Matched the CMPI severity codes to the Pegasus loglevels.

src/Pegasus/ProviderManager2/CMPI/CMPI_BrokerEnc.cpp

index b5d8cff2458c9c524f0e72d5c2bf178acceabe05..353fc00c6822ca635f2ea70a4d7934cd6f2e3a63 100644 (file)
@@ -1269,7 +1269,6 @@ extern "C"
             CMReturn(CMPI_RC_ERR_INVALID_PARAMETER);
         }
 
-        Uint32 logSeverity = Logger::INFORMATION;
         String logString;
         if (id != NULL)
         {
@@ -1285,26 +1284,43 @@ extern "C"
         {
             logString.append(text);
         }
-        // There are no notion in CMPI spec about what 'severity' means.
-        // So we are going to try to map
-        if (severity <= 1)
-        {
-            logSeverity = Logger::INFORMATION;
-        }
-        else if (severity == 2)
-        {
-            logSeverity = Logger::WARNING;
-        }
-        else if (severity == 3)
-        {
-            logSeverity = Logger::SEVERE;
-        }
-        else if (severity == 4)
+        /*
+            CMPI Severity Codes from Section 4.8
+            CMPI_SEV_ERROR = 1,
+            CMPI_SEV_INFO = 2,
+            CMPI_SEV_WARNING = 3,
+            CMPI_DEV_DEBUG = 4
+            Here we try to match CMPI Severity codes to the Pegauss Log levels.
+        */
+
+        Uint32 logSeverity;
+        Logger::LogFileType logFileType;
+
+        switch (severity)
         {
-            logSeverity = Logger::FATAL;
+            case CMPI_DEV_DEBUG:
+                logSeverity = Logger::TRACE;
+                logFileType = Logger::TRACE_LOG;
+                break;
+            case  CMPI_SEV_INFO:
+                logSeverity = Logger::INFORMATION;
+                logFileType = Logger::STANDARD_LOG;
+                break;
+            case CMPI_SEV_WARNING:
+                logSeverity = Logger::WARNING;
+                logFileType = Logger::STANDARD_LOG;
+                break;
+            case CMPI_SEV_ERROR:
+                logSeverity = Logger::SEVERE;
+                logFileType = Logger::ERROR_LOG;
+                break;
+            default:
+                logSeverity = Logger::INFORMATION;
+                logFileType = Logger::STANDARD_LOG;
         }
+
         Logger::put(
-            Logger::STANDARD_LOG,
+            logFileType,
             System::CIMSERVER,
             logSeverity,
             logString);