Я работаю над проектом, и в настоящее время я работаю над выполнением некоторых протоколирования с помощью log4j, и мне было любопытно, как я должен заниматься внедрением журналов. Две реализации, которые я пинаю, следующие:
Первый вариант
Использовать одиночный журнал из суперкласса для этого класса и всех подклассов:
public abstract class AbstractFoo {
protected static Log LOG = LogFactory.getLog(AbstractFoo.class);
...
}
public class Foo extends AbstractFoo {
public void someMethod() {
LOG.info("Using abstract log");
}
}
Второй вариант
Используйте отдельные журналы для каждого класса, супер и субмарины:
public abstract class AbstractFoo {
private static Log LOG = LogFactory.getLog(AbstractFoo.class);
...
}
public class Foo extends AbstractFoo {
private static Log LOG = LogFactory.getLog(Foo.class);
public void someMethod() {
LOG.info("Using own log");
}
}
Что имеет смысл и почему?