Author: fmeschbe Date: Thu Dec 16 09:23:10 2010 New Revision: 1049837 URL: http://svn.apache.org/viewvc?rev=1049837&view=rev Log: SLING-1898 Adapt output to WebConsule's JQuery UI use and add a status line indicating the number of loggers used, the number of configurations received and the number of log writers active
Modified: sling/trunk/bundles/commons/log/src/main/java/org/apache/sling/commons/log/internal/slf4j/LogConfigManager.java sling/trunk/bundles/commons/log/src/main/java/org/apache/sling/commons/log/internal/slf4j/SlingLogPanel.java Modified: sling/trunk/bundles/commons/log/src/main/java/org/apache/sling/commons/log/internal/slf4j/LogConfigManager.java URL: http://svn.apache.org/viewvc/sling/trunk/bundles/commons/log/src/main/java/org/apache/sling/commons/log/internal/slf4j/LogConfigManager.java?rev=1049837&r1=1049836&r2=1049837&view=diff ============================================================================== --- sling/trunk/bundles/commons/log/src/main/java/org/apache/sling/commons/log/internal/slf4j/LogConfigManager.java (original) +++ sling/trunk/bundles/commons/log/src/main/java/org/apache/sling/commons/log/internal/slf4j/LogConfigManager.java Thu Dec 16 09:23:10 2010 @@ -210,6 +210,35 @@ public class LogConfigManager implements * an iterator. */ Iterator<SlingLoggerWriter> getSlingLoggerWriters() { + return internalGetSlingLoggerWriters().iterator(); + } + + /** + * Returns the number of logger configurations active in the system + */ + int getNumSlingLoggerConfigs() { + return configByPid.size(); + } + + /** + * Returns the number of logger writers active in the system + */ + int getNumSlingLogWriters() { + return internalGetSlingLoggerWriters().size(); + } + + /** + * Returns the number of currently user logger categories + */ + int getNumLoggers() { + return loggersByCategory.size(); + } + + /** + * Internal method returns the collection of explicitly configured and + * implicitly defined logger writers. + */ + private Collection<SlingLoggerWriter> internalGetSlingLoggerWriters() { // configured writers Collection<SlingLoggerWriter> writers = new HashSet<SlingLoggerWriter>( writerByPid.values()); @@ -221,7 +250,7 @@ public class LogConfigManager implements } } - return writers.iterator(); + return writers; } // ---------- Configuration support Modified: sling/trunk/bundles/commons/log/src/main/java/org/apache/sling/commons/log/internal/slf4j/SlingLogPanel.java URL: http://svn.apache.org/viewvc/sling/trunk/bundles/commons/log/src/main/java/org/apache/sling/commons/log/internal/slf4j/SlingLogPanel.java?rev=1049837&r1=1049836&r2=1049837&view=diff ============================================================================== --- sling/trunk/bundles/commons/log/src/main/java/org/apache/sling/commons/log/internal/slf4j/SlingLogPanel.java (original) +++ sling/trunk/bundles/commons/log/src/main/java/org/apache/sling/commons/log/internal/slf4j/SlingLogPanel.java Thu Dec 16 09:23:10 2010 @@ -76,14 +76,20 @@ public class SlingLogPanel extends HttpS final String consoleAppRoot = (String) req.getAttribute("felix.webconsole.appRoot"); final String cfgColTitle = (consoleAppRoot == null) ? "PID" : "Configuration"; + + pw.printf( + "<p class='statline'>Log Service Stats: %d categories, %d configuration(s), %d writer(s)</p>%n", + logConfigManager.getNumLoggers(), + logConfigManager.getNumSlingLoggerConfigs(), + logConfigManager.getNumSlingLogWriters()); + pw.println("<div class='table'>"); - pw.println("<h1>Logger</h1>"); + pw.println("<div class='ui-widget-header ui-corner-top buttonGroup'>Logger</div>"); - pw.println("<table class='tablelayout'>"); + pw.println("<table class='nicetable ui-widget'>"); - pw.println("<thead>"); - pw.println("</tr>"); + pw.println("<thead class='ui-widget-header'>"); pw.println("<tr>"); pw.println("<th>Log Level</th>"); pw.println("<th>Log File</th>"); @@ -91,7 +97,7 @@ public class SlingLogPanel extends HttpS pw.println("<th>" + cfgColTitle + "</th>"); pw.println("</tr>"); pw.println("</thead>"); - pw.println("<tbody>"); + pw.println("<tbody class='ui-widget-content'>"); Iterator<SlingLoggerConfig> loggers = logConfigManager.getSlingLoggerConfigs(); while (loggers.hasNext()) { @@ -119,18 +125,18 @@ public class SlingLogPanel extends HttpS pw.println("<div class='table'>"); - pw.println("<h1>Log Writer</h1>"); + pw.println("<div class='ui-widget-header ui-corner-top buttonGroup'>Log Writer</div>"); - pw.println("<table class='tablelayout'>"); + pw.println("<table class='nicetable ui-widget'>"); - pw.println("<thead>"); + pw.println("<thead class='ui-widget-header'>"); pw.println("<tr>"); pw.println("<th>Log File</th>"); pw.println("<th>Rotator</th>"); pw.println("<th>" + cfgColTitle + "</th>"); pw.println("</tr>"); pw.println("</thead>"); - pw.println("<tbody>"); + pw.println("<tbody class='ui-widget-content'>"); Iterator<SlingLoggerWriter> writers = logConfigManager.getSlingLoggerWriters(); while (writers.hasNext()) {