diff --git a/apps/routerconsole/java/src/net/i2p/router/web/helpers/ConfigLoggingHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/helpers/ConfigLoggingHelper.java
index 603729d2baa2f103ec7252a20e3a4b264d8d5137..d00d3138a6f7f3e36e57b823f85bbbe26fe03440 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/helpers/ConfigLoggingHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/helpers/ConfigLoggingHelper.java
@@ -114,8 +114,8 @@ public class ConfigLoggingHelper extends HelperBase {
             while ((nextdot = name.indexOf('.', lastdot + 1)) > 0) {
                 if (++dots >= 3) {
                     String subst = name.substring(0, nextdot);
-                    if (!limits.contains(subst))
-                        sortedLogs.add(subst);
+                    // add a package marker, see below
+                    sortedLogs.add(subst + '.');
                 }
                 lastdot = nextdot;
             }
@@ -127,10 +127,28 @@ public class ConfigLoggingHelper extends HelperBase {
            .append(_t("Select a class to add"))
            .append("</option>\n");
 
+        int groups = 0;
         for (String l : sortedLogs) {
+            String d;
+            // replace package marker
+            if (l.endsWith(".")) {
+                if (groups++ > 0)
+                    buf.append("</optgroup>\n");
+                l = l.substring(0, l.length() - 1);
+                buf.append("<optgroup label=\"").append(l).append("\">\n");
+                d = _t("All classes in {0}", l);
+            } else {
+                int last = l.lastIndexOf(".");
+                if (last > 0)
+                    d = l.substring(last + 1);
+                else
+                    d = l;
+            }
             buf.append("<option value=\"").append(l).append("\">")
-               .append(l).append("</option>\n");
+               .append(d).append("</option>\n");
         }        
+        if (groups > 0)
+            buf.append("</optgroup>\n");
         
         buf.append("</select>\n");
         getLogLevelBox(buf, "newloglevel", "WARN", false);