[wsas-java-dev] svn commit r118 - wsas/java/trunk/modules/admin/src/org/wso2/wsas/admin/service/logging

svn at wso2.com svn at wso2.com
Sat Dec 2 06:23:30 PST 2006


Author: azeez
Date: Sat Dec  2 06:23:30 2006
New Revision: 118

Modified:
   wsas/java/trunk/modules/admin/src/org/wso2/wsas/admin/service/logging/LoggingService.java
Log:
Temp improvement for wsas-167



Modified: wsas/java/trunk/modules/admin/src/org/wso2/wsas/admin/service/logging/LoggingService.java
==============================================================================
--- wsas/java/trunk/modules/admin/src/org/wso2/wsas/admin/service/logging/LoggingService.java	(original)
+++ wsas/java/trunk/modules/admin/src/org/wso2/wsas/admin/service/logging/LoggingService.java	Sat Dec  2 06:23:30 2006
@@ -21,6 +21,8 @@
 import org.apache.log4j.Layout;
 import org.apache.log4j.PatternLayout;
 import org.apache.log4j.spi.LoggingEvent;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 
 /**
@@ -29,7 +31,7 @@
 public class LoggingService implements LoggingServiceSkeletonInterface {
     private static final String DEFAULT_LOGGING_PATTERN = "%5p [%d - %t] %x %c - %m";
     private static final int DEFAULT_NO_OF_LOGS = 100;
-
+    private static Log log = LogFactory.getLog(LoggingService.class);
 
     /**
      * Returns the properly laid out log messages
@@ -38,53 +40,57 @@
      * @return The log messages
      */
     public GetLogsResponse getLogs(GetLogsRequest req) {
-        /**
-         * The MemoryAppender used by this LoggingService
-         */
-        MemoryAppender memAppender = (MemoryAppender) MessageContext.getCurrentMessageContext()
-                .getConfigurationContext().getProperty(ServerConstants.Logging.MEMORY_APPENDER);
         GetLogsResponse resp = new GetLogsResponse();
+        try {
+            MemoryAppender memAppender = (MemoryAppender) MessageContext.getCurrentMessageContext()
+                    .getConfigurationContext().getProperty(ServerConstants.Logging.MEMORY_APPENDER);
+
+            if ((memAppender == null) || (memAppender.getCircularQueue() == null) ||
+                (memAppender.getCircularQueue().getObjects(req.getAmount()) == null) ||
+                (memAppender.getCircularQueue().getObjects(req.getAmount()).length == 0)) {
+                resp.set_return(new String[]{"--- No Log Entries Found. " +
+                                             "You may try increasing the log level ---"});
 
-        if ((memAppender == null) || (memAppender.getCircularQueue() == null) ||
-            (memAppender.getCircularQueue().getObjects(req.getAmount()) == null) ||
-            (memAppender.getCircularQueue().getObjects(req.getAmount()).length == 0)) {
-            resp.set_return(new String[]{"--- No Log Entries Found. " +
-                                         "You may try increasing the log level ---"});
+                return resp;
+            }
 
-            return resp;
-        }
+            String[] result;
+            Object[] objects;
 
-        String[] result;
-        Object[] objects;
+            if (req.getAmount() < 1) {
+                objects = memAppender.getCircularQueue().getObjects(DEFAULT_NO_OF_LOGS);
+            } else {
+                objects = memAppender.getCircularQueue().getObjects(req.getAmount());
+            }
 
-        if (req.getAmount() < 1) {
-            objects = memAppender.getCircularQueue().getObjects(DEFAULT_NO_OF_LOGS);
-        } else {
-            objects = memAppender.getCircularQueue().getObjects(req.getAmount());
-        }
+            result = new String[objects.length];
 
-        result = new String[objects.length];
+            Layout layout;
+            String layoutPattern = req.getLayoutPattern();
 
-        Layout layout;
-        String layoutPattern = req.getLayoutPattern();
+            if ((layoutPattern == null) || (layoutPattern.trim().length() == 0)) {
+                layout = memAppender.getLayout();
 
-        if ((layoutPattern == null) || (layoutPattern.trim().length() == 0)) {
-            layout = memAppender.getLayout();
+                if (layout == null) {
+                    layout = new PatternLayout(DEFAULT_LOGGING_PATTERN);
+                }
+            } else {
+                layout = new PatternLayout(layoutPattern);
+            }
 
-            if (layout == null) {
-                layout = new PatternLayout(DEFAULT_LOGGING_PATTERN);
+            for (int i = 0; i < objects.length; i++) {
+                LoggingEvent logEvt = (LoggingEvent) objects[i];
+                result[i] = layout.format(logEvt);
             }
-        } else {
-            layout = new PatternLayout(layoutPattern);
-        }
 
-        for (int i = 0; i < objects.length; i++) {
-            LoggingEvent logEvt = (LoggingEvent) objects[i];
-            result[i] = layout.format(logEvt);
-        }
+            resp.set_return(result);
 
-        resp.set_return(result);
+            return resp;
+        } catch (Exception e) {
+            log.error("Could not retrieve logs", e);
+            resp.set_return(new String[]{"--- Cannot retrieve log entries due to a system error ---"});
 
-        return resp;
+            return resp;
+        }
     }
 }




More information about the Wsas-java-dev mailing list