LogFactory.getLog()
-------------------

                 Key: LOGGING-137
                 URL: https://issues.apache.org/jira/browse/LOGGING-137
             Project: Commons Logging
          Issue Type: New Feature
    Affects Versions: 1.1.2
            Reporter: Doug Bateman


Presently, in Apache Commons, the most common way to get a logger is to do 
something like:

public class MyClass {
    private static Log log = LogFactory.getLog(MyClass.class);
}

Notice how MyClass.class (or alternatively a string name) is passed as a 
parameter.  The annoying aspect of this is that sometimes the class name 
doesn't get updated when doing copy/paste operations.  A desirable alternative 
might be:

public class MyClass {
    private static Log log = LogFactory.getLog(); //class name inferred from 
call stack
}


With such an approach there are two possible concerns I can foresee:

    * Call stack inspection isn't terribly fast.  However since Loggers are 
generally initialized only once, when the class is first loaded, performance 
isn't likely to be a major problem.
    * Commons-logging is Java 1.1 compatible.  Thus care must be taken to 
ensure compatibility isn't broken.
    * Commons-logging doesn't depend on commons-lang, and thus the utilities in 
commons-lang cannot be used.

In Java 1.4, the call stack is easily obtained using Thread.getCallStack().  
Prior to Java 1.4, the only way to obtain the call stack is to inspect the 
stack trace of an exception.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to