James Strachan wrote:
Would it be acceptable
to add a getName() or something similar to the Log interface and the
implementations? That way, we can fully implement the avalon-framework
Logger contract on top of commons-logging.
+1.

Seems reasonable to me. I guess it won't break anyones code who just use
commons-logging to log. The only risk is people who implement Log,
yep. It is a backwards-incompatible change there.

but since
most of the implementations are inside commons-logging, it doesn't seem too
bad.
yep.

BTW did you mean to CC [EMAIL PROTECTED] or did you mean avalon-dev? :)
the latter of course. Silly me :D

I've attached a patch which adds a 'public String getName()' method to Log and all implementations (relative to jakarta-commons/logging).

cheers,

- Leo
? Log.getName-patch.txt
Index: src/java/org/apache/commons/logging/Log.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-commons/logging/src/java/org/apache/commons/logging/Log.java,v
retrieving revision 1.13
diff -u -r1.13 Log.java
--- src/java/org/apache/commons/logging/Log.java        15 Jun 2002 18:13:01 -0000     
 1.13
+++ src/java/org/apache/commons/logging/Log.java        8 Feb 2003 20:09:15 -0000
@@ -275,4 +275,12 @@
     public void fatal(Object message, Throwable t);
 
 
+    /**
+     * <p> Get the name associated with this Log. </p>
+     *
+     * @return the Log name
+     */
+    public String getName();
+
+
 }
Index: src/java/org/apache/commons/logging/impl/Jdk14Logger.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-commons/logging/src/java/org/apache/commons/logging/impl/Jdk14Logger.java,v
retrieving revision 1.4
diff -u -r1.4 Jdk14Logger.java
--- src/java/org/apache/commons/logging/impl/Jdk14Logger.java   17 Jul 2002 16:42:40 
-0000      1.4
+++ src/java/org/apache/commons/logging/impl/Jdk14Logger.java   8 Feb 2003 20:09:16 
+-0000
@@ -94,6 +94,7 @@
     public Jdk14Logger(String name) {
 
         logger = Logger.getLogger(name);
+       logName = name;
 
     }
 
@@ -107,6 +108,10 @@
     protected Logger logger = null;
 
 
+    /** Name of the logger */
+    protected String logName = null;
+
+
     // --------------------------------------------------------- Public Methods
 
     private void log( Level level, String msg, Throwable ex ) {
@@ -278,6 +283,16 @@
      */
     public void warn(Object message, Throwable exception) {
         log(Level.WARNING, String.valueOf(message), exception);
+    }
+
+
+    /**
+     * Get the name associated with this Log.
+     *
+     * @return the Log name
+     */
+    public String getName() {
+        return logName;
     }
 
 
Index: src/java/org/apache/commons/logging/impl/Log4JCategoryLog.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-commons/logging/src/java/org/apache/commons/logging/impl/Log4JCategoryLog.java,v
retrieving revision 1.8
diff -u -r1.8 Log4JCategoryLog.java
--- src/java/org/apache/commons/logging/impl/Log4JCategoryLog.java      23 Nov 2002 
03:49:40 -0000      1.8
+++ src/java/org/apache/commons/logging/impl/Log4JCategoryLog.java      8 Feb 2003 
+20:09:16 -0000
@@ -293,4 +293,13 @@
     public boolean isWarnEnabled() {
         return category.isEnabledFor(Priority.WARN);
     }
+
+    /**
+     * Get the name associated with this Log4J Logger.
+     *
+     * @return the Log name
+     */
+    public String getName() {
+        return category.getName();
+    }
 }
Index: src/java/org/apache/commons/logging/impl/Log4JLogger.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-commons/logging/src/java/org/apache/commons/logging/impl/Log4JLogger.java,v
retrieving revision 1.1
diff -u -r1.1 Log4JLogger.java
--- src/java/org/apache/commons/logging/impl/Log4JLogger.java   23 Nov 2002 03:50:13 
-0000      1.1
+++ src/java/org/apache/commons/logging/impl/Log4JLogger.java   8 Feb 2003 20:09:16 
+-0000
@@ -291,4 +291,13 @@
     public boolean isWarnEnabled() {
         return logger.isEnabledFor(Priority.WARN);
     }
+
+    /**
+     * Get the name associated with this Log4J Logger.
+     *
+     * @return the Log name
+     */
+    public String getName() {
+        return logger.getName();
+    }
 }
Index: src/java/org/apache/commons/logging/impl/LogKitLogger.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-commons/logging/src/java/org/apache/commons/logging/impl/LogKitLogger.java,v
retrieving revision 1.2
diff -u -r1.2 LogKitLogger.java
--- src/java/org/apache/commons/logging/impl/LogKitLogger.java  17 Jul 2002 16:42:40 
-0000      1.2
+++ src/java/org/apache/commons/logging/impl/LogKitLogger.java  8 Feb 2003 20:09:16 
+-0000
@@ -90,6 +90,10 @@
     protected Logger logger = null;
 
 
+    /** Name of the logger */
+    protected Logger logName = null;
+
+
     // ------------------------------------------------------------ Constructor
 
 
@@ -101,6 +105,7 @@
      */
     public LogKitLogger(String name) {
         logger = Hierarchy.getDefaultHierarchy().getLoggerFor(name);
+       logName = name;
     }
 
 
@@ -270,5 +275,14 @@
         return logger.isWarnEnabled();
     }
 
+    /**
+     * Get the name associated with this Logkit logger.
+     *
+     * @return the Log name
+     */
+    public String getName() {
+
+        return logName;
+    }
 
 }
Index: src/java/org/apache/commons/logging/impl/NoOpLog.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-commons/logging/src/java/org/apache/commons/logging/impl/NoOpLog.java,v
retrieving revision 1.1
diff -u -r1.1 NoOpLog.java
--- src/java/org/apache/commons/logging/impl/NoOpLog.java       3 Feb 2002 01:31:29 
-0000       1.1
+++ src/java/org/apache/commons/logging/impl/NoOpLog.java       8 Feb 2003 20:09:16 
+-0000
@@ -147,4 +147,13 @@
      */
     public final boolean isWarnEnabled() { return false; }
 
+    /**
+     * <p> Get the name associated with this Log </p>
+     *
+     * @return an empty string
+     */
+    public String getName() {
+
+        return "";
+    }
 }
Index: src/java/org/apache/commons/logging/impl/SimpleLog.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-commons/logging/src/java/org/apache/commons/logging/impl/SimpleLog.java,v
retrieving revision 1.8
diff -u -r1.8 SimpleLog.java
--- src/java/org/apache/commons/logging/impl/SimpleLog.java     12 Dec 2002 20:29:16 
-0000      1.8
+++ src/java/org/apache/commons/logging/impl/SimpleLog.java     8 Feb 2003 20:09:17 
+-0000
@@ -649,5 +649,15 @@
                 }
             });
     }
+
+    /**
+     * <p> Get the name associated with this Log </p>
+     *
+     * @return the Log name
+     */
+    public String getName() {
+
+        return logName;
+    }
 }
 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to