org.apache.log4j.Category lacks a toString() method - so here's the one 
i've found useful.

if you don't like it, then maybe you'll write your own but Category is 
an important class and really ought to have a toString method.

- robert

Index: src/java/org/apache/log4j/Category.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/Category.java,v
retrieving revision 1.29
diff -u -r1.29 Category.java
--- src/java/org/apache/log4j/Category.java     2001/05/31 22:23:04     1.29
+++ src/java/org/apache/log4j/Category.java     2001/06/04 18:59:00
@@ -1018,4 +1018,26 @@
     if(this.isEnabledFor(Priority.WARN))
       forcedLog(FQCN, Priority.WARN, message, t);
   }
+  
+  /**
+   Outputs something (more or less) useful.
+   
+   <p>The method returns [CATEGORY] name PRIORITY priority APPENDERS 
+all-appender-names.
+   */
+  public 
+  String toString() {
+    String appenders=" APPENDERS: ";
+    boolean isFirst=true;
+    for (Enumeration en=getAllAppenders();en.hasMoreElements();)
+    {
+        appenders=appenders+((Appender)en.nextElement()).getName();
+        if (isFirst==true)
+        {
+            isFirst=false;
+        } else {
+            appenders=appenders+",";
+        }
+    }
+    return "[CATEGORY] " + getName() + " PRIORITY=" + getPriority() + appenders;
+  }
 }


Reply via email to