On 7 August 2010 06:00, James Carman <ja...@carmanconsulting.com> wrote: > Attachments don't come through. File a JIRA
+1 - please > > 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(). Huh? I cannot find that method anywhere. Do you perhaps mean public StackTraceElement[] getStackTrace() which is @since Java 1.5? >> 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 > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org