后端——框架——日志框架——logback——《官网》阅读笔记——第九章节(多应用)——待完善

第九章节介绍项目日志分离,在原著中介绍了两种解决方案,

我理解日志分离是指在以下几种情况时,如何保证每个项目的LoggerContext独立。

  • 当处于不同JVM时,不同JVM的LoggerContext对象肯定是独立的
  • 当处于同JVM,不同类加载器时,此时LoggerContext对象需要有自己独立的类加载器。
  • 当处于同JVM,同类加载器时,如果保证LoggerContext对象独立,这也是本章的核心内容,引入ContextSelector接口。

在本章内容开始前,至少建立两个独立的Web项目,每个项目都有配日志框架。

1、不同类加载器

当多个项目部署在同一个Web容器时,例如项目A和项目B都部署在同一个tomcat下,此时在publish过程中,tomcat会为每个项目单独创建一个目录,相关的日志jar包都存放在WEB-INF/lib下,日志配置文件也存放在不同的resources文件夹下。

启动tomcat,使用Jconsole监控时,会发现每个项目的类加载器不同。所以LoggerContext对象也彼此独立。

2、同类加载器

待完善

原文地址:https://www.cnblogs.com/rain144576/p/12304456.html