Attachments don't come through. File a JIRA On Fri, Aug 6, 2010 at 10:11 PM, Doug Bateman <d...@dougbateman.net> wrote: > Dear Commons Developers, > > Here's a suggestion for the commons-logging package... > > 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. > > > I've attached to this email a proof of concept implementation. It tests > successfully in Java 1.0+ and Java 1.4+. In order to ensure the > implementation doesn't break for Java 1.0, I used reflection to invoke the > Java 1.4 APIs when they are available. > > Cheers, > Doug > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > For additional commands, e-mail: dev-h...@commons.apache.org >
--------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org