Your conventions are pretty standard and pretty good (imho).
The only thing to look at is memory fragmentation from excessive pending debugging calls, so with Log4J (and most other Java frameworks) you get something like this:
if (log.isDebugEnabled()) { log.debug("..."); }
since building this log message (which you probably aren't using) can be expensive, especially if it is done thousands or millions of times.
The level of registration of the INFO level should not be too "frequent" (and, as you say, it seems that this is not so). INFO messages should be generally meaningful and significant, such as starting and stopping an application. Things you might want to know if you have a problem. Debug / exact level logging is more used when you really have a problem that you are trying to diagnose. Debugging / accurate logging is usually enabled only when necessary. Information is usually kept constant.
If someone does not want to receive special INFO messages from your classes, they, of course, can change your log4j configuration so as not to receive them. Log4j is well versed in this section (as opposed to registering Java 1.4).
As for your HTTP stuff, I usually did not find that this is a problem with Java logging, because usually one class is responsible for what interests you, so you only need to place it in one place. In (in my experience), when you need generic log messages through seemingly unrelated classes, just put some token that can be easily grepped for.
cletus May 25, '09 at 10:48 2009-05-25 10:48
source share