Является ли java.util.logging.Logger.log () образцом цепочки ответственности? - PullRequest
0 голосов
/ 01 июля 2011

Является ли java.util.logging.Logger.log () шаблоном цепочки ответственности? Если да, то как цепочка вызовов журнала становится связанной для следующего вызова?

1 Ответ

2 голосов
/ 01 июля 2011

Вот соответствующий код :

// Post the LogRecord to all our Handlers, and then to
// our parents' handlers, all the way up the tree.

Logger logger = this;
while (logger != null) {
    Handler targets[] = logger.getHandlers();

    //...

    if (!logger.getUseParentHandlers()) {
      break;
    }

    logger = logger.getParent();
}
}

Как вы можете видеть, каждая запись в журнале передается каждому Handler, назначенному данному регистратору, и, если useParentHandlers являетсяtrue, тот же алгоритм применяется к родителю вплоть до самого верха.

Таким образом, по сути, это шаблон цепочки ответственности, где каждый элемент в цепочке может обрабатывать часть запроса.

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