Каковы недостатки передачи регистратора классов между классами в Log4j - PullRequest
0 голосов
/ 24 октября 2019

Допустим, у меня есть класс A, который создает регистратор классов. Тогда класс A вызывает экземпляр класса B. Если бы я должен был передать регистратор класса A в класс B, а затем журналы класса B, используя родительский регистратор, каковы его недостатки?

Или это просто префикс сообщения, и все остальные функции такие же, как если бы я создал регистратор для каждого соответствующего класса?

...

public ClassA {
    private static final Logger log = LoggerFactory.getLogger(ClassA.class);

    public ClassA() {
        this.classB = new ClassB(log);
    }

    public void someMethod() {
        classB.noteworthyAction();
    }
}

public ClassB {
    private Logger log;

    public ClassB(Logger log) {
        this.log = log;
    }

    public void noteworthyAction() {
        ...
        log.info("Something happened that was worth logging.");
        ...
    }

}

Примечание: вопрос не в том, как передать логгер между двумя классами. Я просто спрашиваю с точки зрения юзабилити и , теряю ли я какую-либо функциональность или рискую ошибками , используя регистраторы таким образом.

Чтобы объяснить, почему я заинтересован в этом, скажем, два разныхКлассы (ClassA и ClassC, где ClassC идентична ClassA, за исключением своего собственного регистратора) вызывают тот же класс, который имеет важный оператор ведения журнала. Я хочу, чтобы при вызове ClassA в ClassB входил один из приложений, а при вызове ClassC в ClassB - другой пользователь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...