Ваши соглашения довольно стандартны и вполне хороши (imho).
Единственное, на что нужно обратить внимание, - это фрагментации памяти из-за чрезмерного количества неотлаженных отладочных вызовов, поэтому в Log4J (и в большинстве других сред ведения журналов Java) вы получите нечто подобное:
if (log.isDebugEnabled()) {
log.debug("...");
}
потому что создание этого сообщения журнала (которое вы, вероятно, не используете) может быть дорогим, особенно если это делается тысячи или миллионы раз.
Ваша регистрация уровня INFO не должна быть слишком "болтливой" (и из того, что вы говорите, похоже, что это не так). Сообщения INFO должны быть в целом значимыми и значимыми, например, приложение запускается и останавливается. Вещи, которые вы, возможно, захотите узнать, если столкнетесь с проблемой. Журналирование отладки / точного уровня больше используется, когда у вас действительно есть проблема, которую вы пытаетесь диагностировать. Отладка / точная регистрация обычно включается только при необходимости. Информация обычно постоянно.
Если кто-то не хочет получать специальные сообщения INFO от ваших классов, он, конечно, может изменить вашу конфигурацию log4j, чтобы не получать их. Log4j прекрасно работает в этом отделе (в отличие от ведения журнала в Java 1.4).
Что касается вашего HTTP, я, как правило, не считаю, что это проблема с журналированием Java, потому что обычно один класс отвечает за то, что вас интересует, поэтому вам нужно всего лишь поместить его в одно место. В (редкий в моем опыте), когда вы хотите, чтобы общие сообщения журналов были связаны между собой, казалось бы, не связанными классами, просто вставьте некоторый токен, который можно легко найти.