in src/main/java/org/apache/sling/commons/log/logback/internal/SlingLogPanel.java [281:331]
private void appendOtherLoggerData(final PrintWriter pw, final LoggerStateContext ctx) {
if (ctx.nonOSgiConfiguredLoggers.isEmpty()) {
return;
}
pw.println("<div class='table'>");
pw.println("<div class='ui-widget-header ui-corner-top buttonGroup'>Logger (Configured via other means)</div>");
pw.println("<table class='nicetable ui-widget'>");
pw.println("<thead class='ui-widget-header'>");
pw.println("<tr>");
pw.println("<th>Log Level</th>");
pw.println("<th>Additivity</th>");
pw.println("<th>Name</th>");
pw.println("<th>Appender</th>");
pw.println("</tr>");
pw.println("</thead>");
pw.println("<tbody class='ui-widget-content'>");
for (final Logger logger : ctx.nonOSgiConfiguredLoggers) {
pw.println("<tr>");
pw.print("<td>");
pw.print(logger.getLevel());
pw.println("</td>");
pw.print("<td>");
pw.print(Boolean.toString(logger.isAdditive()));
pw.println("</td>");
pw.print("<td>");
pw.print(XmlUtil.escapeXml(logger.getName()));
pw.println("</td>");
pw.println("<td>");
pw.println("<ul>");
final Iterator<Appender<ILoggingEvent>> itr = logger.iteratorForAppenders();
while (itr.hasNext()) {
final Appender<ILoggingEvent> a = itr.next();
pw.print("<li>");
pw.print(XmlUtil.escapeXml(getName(a)));
pw.print("</li>");
}
pw.println("</ul>");
pw.println("</td>");
pw.println("</tr>");
}
pw.println("</tbody>");
pw.println("</table>");
pw.println("</div>");
}