java - java.util.logging.Logger.log() 是责任链模式吗?

标签 java design-patterns

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,并且,如果 useParentHandlerstrue,则相同算法应用于父级一直到顶部。

所以本质上这是一个责任链模式,链中的每个元素都可以处理请求的一部分。

关于java - java.util.logging.Logger.log() 是责任链模式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6545777/

相关文章:

java - 如何使用javac编译java包结构

java - 如何修复MainActivity? kotlin.UninitializedPropertyAccessException : lateinit property compositeDiposable has not been initialized

java - 关于spring容器热切单例设计模式

ios - 在两个 Controller 之间发送 UIImage 是否正确?

c++ - 如何让人们相信一个有 11975 行代码的类是不好的? (不是吗?)

java - 继承和覆盖模块项目中相同bean id的bean属性

java - Apache CXF java.lang.StackOverflowError

java - 没有 for 循环会在 for 循环内部运行。素数测试

java - 理解Java单例设计模式

java - Android MVVM 设计模式示例