0
java.util.logging.Logger.log()は責任パターンのチェーンですか?もしそうなら、ログメソッド呼び出しが次の呼び出しのためにどのように連鎖していますか?ここでjava.util.logging.Logger.log()は責任パターンのチェーンですか?
java.util.logging.Logger.log()は責任パターンのチェーンですか?もしそうなら、ログメソッド呼び出しが次の呼び出しのためにどのように連鎖していますか?ここでjava.util.logging.Logger.log()は責任パターンのチェーンですか?
が関連code次のとおりです。
// 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
であれば、同じアルゴリズムを親に適用されます一番上まで
これは基本的に責任パターンのチェーンであり、チェーンの各要素が要求の一部を処理する可能性があります。
このコードはjava.util.logging.Loggerクラスの一部ですか? – BOSS
はい、私はすでに[this](http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/logging/Logger.java#Logger)を提供しています。 log(java.util.logging.LogRecord))リンク( 'log(LogRecord)'メソッドを参照)では、Sun JDKでも同じように見えます。 –